]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Run dist while here
authorMark Otto <markdotto@gmail.com>
Tue, 6 Jan 2026 06:58:32 +0000 (22:58 -0800)
committerMark Otto <markdotto@gmail.com>
Fri, 9 Jan 2026 04:14:09 +0000 (20:14 -0800)
65 files changed:
dist/css/bootstrap-grid.css
dist/css/bootstrap-grid.css.map
dist/css/bootstrap-grid.min.css
dist/css/bootstrap-grid.min.css.map
dist/css/bootstrap-reboot.css
dist/css/bootstrap-reboot.css.map
dist/css/bootstrap-reboot.min.css
dist/css/bootstrap-reboot.min.css.map
dist/css/bootstrap-utilities.css
dist/css/bootstrap-utilities.css.map
dist/css/bootstrap-utilities.min.css
dist/css/bootstrap-utilities.min.css.map
dist/css/bootstrap.css
dist/css/bootstrap.css.map
dist/css/bootstrap.min.css
dist/css/bootstrap.min.css.map
dist/js/bootstrap.bundle.js
dist/js/bootstrap.bundle.js.map
dist/js/bootstrap.bundle.min.js
dist/js/bootstrap.bundle.min.js.map
dist/js/bootstrap.esm.js
dist/js/bootstrap.esm.js.map
dist/js/bootstrap.esm.min.js
dist/js/bootstrap.esm.min.js.map
dist/js/bootstrap.js
dist/js/bootstrap.js.map
dist/js/bootstrap.min.js
dist/js/bootstrap.min.js.map
js/dist/alert.js
js/dist/base-component.js
js/dist/button.js
js/dist/carousel.js
js/dist/collapse.js
js/dist/datepicker.js [new file with mode: 0644]
js/dist/datepicker.js.map [new file with mode: 0644]
js/dist/dialog.js
js/dist/dom/data.js
js/dist/dom/event-handler.js
js/dist/dom/manipulator.js
js/dist/dom/selector-engine.js
js/dist/dropdown.js
js/dist/dropdown.js.map
js/dist/offcanvas.js
js/dist/otp-input.js [new file with mode: 0644]
js/dist/otp-input.js.map [new file with mode: 0644]
js/dist/popover.js
js/dist/scrollspy.js
js/dist/strength.js [new file with mode: 0644]
js/dist/strength.js.map [new file with mode: 0644]
js/dist/tab.js
js/dist/toast.js
js/dist/toggler.js [new file with mode: 0644]
js/dist/toggler.js.map [new file with mode: 0644]
js/dist/tooltip.js
js/dist/util/backdrop.js
js/dist/util/component-functions.js
js/dist/util/component-functions.js.map
js/dist/util/config.js
js/dist/util/floating-ui.js
js/dist/util/focustrap.js
js/dist/util/index.js
js/dist/util/sanitizer.js
js/dist/util/scrollbar.js
js/dist/util/swipe.js
js/dist/util/template-factory.js

index e3066ca086efb5b5ec81dafdaacbb078dd6a8315..657018708737fa610120153152afd06dc9dff9d1 100644 (file)
@@ -4,19 +4,19 @@
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
-  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));
-  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));
-  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));
-  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));
-  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));
-  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));
-  --bs-blue-500: oklch(60% 0.24 258deg);
-  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));
-  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));
-  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));
-  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));
-  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));
-  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));
+  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));
+  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));
+  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));
+  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));
+  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));
+  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));
+  --bs-blue-500: oklch(60% 0.24 240deg);
+  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));
+  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));
+  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));
+  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));
+  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));
+  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));
   --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));
   --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));
   --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));
index 303027c4a917000d97cbf8437af1376322a8f66f..155c6035be3ab673e4e81aecffa0163bea52fda2 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-grid.css","../../scss/_theme.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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EN8vCV;EM/vCQ;IACE,wBAAA;ENiwCV;EMlwCQ;IACE,yBAAA;ENowCV;EMrwCQ;IACE,yBAAA;ENuwCV;EMxwCQ;IACE,yBAAA;EN0wCV;EMnwCQ;IACE,oBAFS;ENuwCnB;EMtwCQ;IACE,oBAFS;EN0wCnB;EMzwCQ;IACE,oBAFS;EN6wCnB;EM5wCQ;IACE,oBAFS;ENgxCnB;EM/wCQ;IACE,oBAFS;ENmxCnB;EMlxCQ;IACE,oBAFS;ENsxCnB;EMrxCQ;IACE,oBAFS;ENyxCnB;EMxxCQ;IACE,oBAFS;EN4xCnB;EM3xCQ;IACE,oBAFS;EN+xCnB;EM9xCQ;IACE,qBAFS;ENkyCnB;EMjyCQ;IACE,qBAFS;ENqyCnB;EGn3CE;IGuEM;MACE,wBAAA;IN+yCR;IMhzCM;MACE,wBAAA;INkzCR;IMnzCM;MACE,wBAAA;INqzCR;IMtzCM;MACE,wBAAA;INwzCR;IMzzCM;MACE,wBAAA;IN2zCR;IM5zCM;MACE,wBAAA;IN8zCR;IM/zCM;MACE,wBAAA;INi0CR;IMl0CM;MACE,wBAAA;INo0CR;IMr0CM;MACE,wBAAA;INu0CR;IMx0CM;MACE,yBAAA;IN00CR;IM30CM;MACE,yBAAA;IN60CR;IM90CM;MACE,yBAAA;INg1CR;IMz0CM;MACE,oBAFS;IN60CjB;IM50CM;MACE,oBAFS;INg1CjB;IM/0CM;MACE,oBAFS;INm1CjB;IMl1CM;MACE,oBAFS;INs1CjB;IMr1CM;MACE,oBAFS;INy1CjB;IMx1CM;MACE,oBAFS;IN41CjB;IM31CM;MACE,oBAFS;IN+1CjB;IM91CM;MACE,oBAFS;INk2CjB;IMj2CM;MACE,oBAFS;INq2CjB;IMp2CM;MACE,qBAFS;INw2CjB;IMv2CM;MACE,qBAFS;IN22CjB;EACF;EG17CE;IGuEM;MACE,wBAAA;INs3CR;IMv3CM;MACE,wBAAA;INy3CR;IM13CM;MACE,wBAAA;IN43CR;IM73CM;MACE,wBAAA;IN+3CR;IMh4CM;MACE,wBAAA;INk4CR;IMn4CM;MACE,wBAAA;INq4CR;IMt4CM;MACE,wBAAA;INw4CR;IMz4CM;MACE,wBAAA;IN24CR;IM54CM;MACE,wBAAA;IN84CR;IM/4CM;MACE,yBAAA;INi5CR;IMl5CM;MACE,yBAAA;INo5CR;IMr5CM;MACE,yBAAA;INu5CR;IMh5CM;MACE,oBAFS;INo5CjB;IMn5CM;MACE,oBAFS;INu5CjB;IMt5CM;MACE,oBAFS;IN05CjB;IMz5CM;MACE,oBAFS;IN65CjB;IM55CM;MACE,oBAFS;INg6CjB;IM/5CM;MACE,oBAFS;INm6CjB;IMl6CM;MACE,oBAFS;INs6CjB;IMr6CM;MACE,oBAFS;INy6CjB;IMx6CM;MACE,oBAFS;IN46CjB;IM36CM;MACE,qBAFS;IN+6CjB;IM96CM;MACE,qBAFS;INk7CjB;EACF;EGjgDE;IGuEM;MACE,wBAAA;IN67CR;IM97CM;MACE,wBAAA;INg8CR;IMj8CM;MACE,wBAAA;INm8CR;IMp8CM;MACE,wBAAA;INs8CR;IMv8CM;MACE,wBAAA;INy8CR;IM18CM;MACE,wBAAA;IN48CR;IM78CM;MACE,wBAAA;IN+8CR;IMh9CM;MACE,wBAAA;INk9CR;IMn9CM;MACE,wBAAA;INq9CR;IMt9CM;MACE,yBAAA;INw9CR;IMz9CM;MACE,yBAAA;IN29CR;IM59CM;MACE,yBAAA;IN89CR;IMv9CM;MACE,oBAFS;IN29CjB;IM19CM;MACE,oBAFS;IN89CjB;IM79CM;MACE,oBAFS;INi+CjB;IMh+CM;MACE,oBAFS;INo+CjB;IMn+CM;MACE,oBAFS;INu+CjB;IMt+CM;MACE,oBAFS;IN0+CjB;IMz+CM;MACE,oBAFS;IN6+CjB;IM5+CM;MACE,oBAFS;INg/CjB;IM/+CM;MACE,oBAFS;INm/CjB;IMl/CM;MACE,qBAFS;INs/CjB;IMr/CM;MACE,qBAFS;INy/CjB;EACF;EGxkDE;IGuEM;MACE,wBAAA;INogDR;IMrgDM;MACE,wBAAA;INugDR;IMxgDM;MACE,wBAAA;IN0gDR;IM3gDM;MACE,wBAAA;IN6gDR;IM9gDM;MACE,wBAAA;INghDR;IMjhDM;MACE,wBAAA;INmhDR;IMphDM;MACE,wBAAA;INshDR;IMvhDM;MACE,wBAAA;INyhDR;IM1hDM;MACE,wBAAA;IN4hDR;IM7hDM;MACE,yBAAA;IN+hDR;IMhiDM;MACE,yBAAA;INkiDR;IMniDM;MACE,yBAAA;INqiDR;IM9hDM;MACE,oBAFS;INkiDjB;IMjiDM;MACE,oBAFS;INqiDjB;IMpiDM;MACE,oBAFS;INwiDjB;IMviDM;MACE,oBAFS;IN2iDjB;IM1iDM;MACE,oBAFS;IN8iDjB;IM7iDM;MACE,oBAFS;INijDjB;IMhjDM;MACE,oBAFS;INojDjB;IMnjDM;MACE,oBAFS;INujDjB;IMtjDM;MACE,oBAFS;IN0jDjB;IMzjDM;MACE,qBAFS;IN6jDjB;IM5jDM;MACE,qBAFS;INgkDjB;EACF;EG/oDE;IGuEM;MACE,wBAAA;IN2kDR;IM5kDM;MACE,wBAAA;IN8kDR;IM/kDM;MACE,wBAAA;INilDR;IMllDM;MACE,wBAAA;INolDR;IMrlDM;MACE,wBAAA;INulDR;IMxlDM;MACE,wBAAA;IN0lDR;IM3lDM;MACE,wBAAA;IN6lDR;IM9lDM;MACE,wBAAA;INgmDR;IMjmDM;MACE,wBAAA;INmmDR;IMpmDM;MACE,yBAAA;INsmDR;IMvmDM;MACE,yBAAA;INymDR;IM1mDM;MACE,yBAAA;IN4mDR;IMrmDM;MACE,oBAFS;INymDjB;IMxmDM;MACE,oBAFS;IN4mDjB;IM3mDM;MACE,oBAFS;IN+mDjB;IM9mDM;MACE,oBAFS;INknDjB;IMjnDM;MACE,oBAFS;INqnDjB;IMpnDM;MACE,oBAFS;INwnDjB;IMvnDM;MACE,oBAFS;IN2nDjB;IM1nDM;MACE,oBAFS;IN8nDjB;IM7nDM;MACE,oBAFS;INioDjB;IMhoDM;MACE,qBAFS;INooDjB;IMnoDM;MACE,qBAFS;INuoDjB;EACF;EK9uDA;IACE,8BAAA;ELgvDF;EK7uDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EL8uDF;AACF;AO7xDA;EC0JI;IApFI,eAkBO;ERysDb;EQvoDE;IApFI,qBAkBO;ER4sDb;EQ1oDE;IApFI,cAkBO;ER+sDb;EQ7oDE;IApFI,aAkBO;ERktDb;EQhpDE;IApFI,oBAkBO;ERqtDb;EQnpDE;IApFI,cAkBO;ERwtDb;EQtpDE;IApFI,kBAkBO;ER2tDb;EQzpDE;IApFI,mBAkBO;ER8tDb;EQ5pDE;IApFI,aAkBO;ERiuDb;EQ/pDE;IApFI,oBAkBO;ERouDb;EQlqDE;IApFI,iBAkBO;ERuuDb;EQrqDE;IApFI,kBAkBO;ER0uDb;EQxqDE;IApFI,aAkBO;ER6uDb;EQ3qDE;IApFI,cAaG;ERqvDT;EQ9qDE;IApFI,mBAkBO;ERmvDb;EQjrDE;IApFI,sBAkBO;ERsvDb;EQprDE;IApFI,2BAkBO;ERyvDb;EQvrDE;IApFI,8BAkBO;ER4vDb;EQ1rDE;IApFI,YAaG;ERowDT;EQ7rDE;IApFI,YAaG;ERuwDT;EQhsDE;IApFI,cAaG;ER0wDT;EQnsDE;IApFI,cAaG;ER6wDT;EQtsDE;IApFI,eAkBO;ER2wDb;EQzsDE;IApFI,iBAkBO;ER8wDb;EQ5sDE;IApFI,uBAkBO;ERixDb;EQ/sDE;IApFI,2BAaG;ERyxDT;EQltDE;IApFI,yBAaG;ER4xDT;EQrtDE;IApFI,uBAaG;ER+xDT;EQxtDE;IApFI,8BAaG;ERkyDT;EQ3tDE;IApFI,6BAaG;ERqyDT;EQ9tDE;IApFI,6BAaG;ERwyDT;EQjuDE;IApFI,oBAaG;ER2yDT;EQpuDE;IApFI,kBAaG;ER8yDT;EQvuDE;IApFI,qBAaG;ERizDT;EQ1uDE;IApFI,sBAaG;ERozDT;EQ7uDE;IApFI,uBAaG;ERuzDT;EQhvDE;IApFI,qBAaG;ER0zDT;EQnvDE;IApFI,mBAaG;ER6zDT;EQtvDE;IApFI,qBAaG;ERg0DT;EQzvDE;IApFI,oBAaG;ERm0DT;EQ5vDE;IApFI,yBAaG;ERs0DT;EQ/vDE;IApFI,uBAaG;ERy0DT;EQlwDE;IApFI,qBAaG;ER40DT;EQrwDE;IApFI,4BAaG;ER+0DT;EQxwDE;IApFI,2BAaG;ERk1DT;EQ3wDE;IApFI,sBAaG;ERq1DT;EQ9wDE;IApFI,gBAaG;ERw1DT;EQjxDE;IApFI,sBAaG;ER21DT;EQpxDE;IApFI,oBAaG;ER81DT;EQvxDE;IApFI,kBAaG;ERi2DT;EQ1xDE;IApFI,oBAaG;ERo2DT;EQ7xDE;IApFI,mBAaG;ERu2DT;EQhyDE;IApFI,kBAaG;ER02DT;EQnyDE;IApFI,gBAaG;ER62DT;EQtyDE;IApFI,mBAaG;ERg3DT;EQzyDE;IApFI,oBAaG;ERm3DT;EQ5yDE;IApFI,SAaG;ERs3DT;EQ/yDE;IApFI,QAaG;ERy3DT;EQlzDE;IApFI,QAaG;ER43DT;EQrzDE;IApFI,QAaG;ER+3DT;EQxzDE;IApFI,QAaG;ERk4DT;EQ3zDE;IApFI,QAaG;ERq4DT;EQ9zDE;IApFI,QAaG;ERw4DT;EQj0DE;IApFI,QAaG;ER24DT;EQp0DE;IApFI,SAaG;ER84DT;EQv0DE;IApFI,eAaG;ERi5DT;EQ10DE;IApFI,cAaG;ERo5DT;EQ70DE;IApFI,YAaG;ERu5DT;EQh1DE;IApFI,cAaG;ER05DT;EQn1DE;IApFI,YAaG;ER65DT;EQt1DE;IApFI,YAaG;ERg6DT;EQz1DE;IApFI,gBAaG;ERm6DT;EQ51DE;IApFI,sBAaG;ERs6DT;EQ/1DE;IApFI,qBAaG;ERy6DT;EQl2DE;IApFI,mBAaG;ER46DT;EQr2DE;IApFI,qBAaG;ER+6DT;EQx2DE;IApFI,mBAaG;ERk7DT;EQ32DE;IApFI,mBAaG;ERq7DT;EQ92DE;IApFI,eAaG;ERw7DT;EQj3DE;IApFI,qBAaG;ER27DT;EQp3DE;IApFI,oBAaG;ER87DT;EQv3DE;IApFI,kBAaG;ERi8DT;EQ13DE;IApFI,oBAaG;ERo8DT;EQ73DE;IApFI,kBAaG;ERu8DT;EQh4DE;IApFI,kBAaG;ER08DT;EQn4DE;IApFI,qBAaG;ER68DT;EQt4DE;IApFI,2BAaG;ERg9DT;EQz4DE;IApFI,0BAaG;ERm9DT;EQ54DE;IApFI,wBAaG;ERs9DT;EQ/4DE;IApFI,0BAaG;ERy9DT;EQl5DE;IApFI,wBAaG;ER49DT;EQr5DE;IApFI,wBAaG;ER+9DT;EQx5DE;IApFI,oBAaG;ERk+DT;EQ35DE;IApFI,0BAaG;ERq+DT;EQ95DE;IApFI,yBAaG;ERw+DT;EQj6DE;IApFI,uBAaG;ER2+DT;EQp6DE;IApFI,yBAaG;ER8+DT;EQv6DE;IApFI,uBAaG;ERi/DT;EQ16DE;IApFI,uBAaG;ERo/DT;EQ76DE;IApFI,mBAaG;ERu/DT;EQh7DE;IApFI,yBAaG;ER0/DT;EQn7DE;IApFI,wBAaG;ER6/DT;EQt7DE;IApFI,sBAaG;ERggET;EQz7DE;IApFI,wBAaG;ERmgET;EQ57DE;IApFI,sBAaG;ERsgET;EQ/7DE;IApFI,sBAaG;ERygET;EQl8DE;IApFI,sBAaG;ER4gET;EQr8DE;IApFI,4BAaG;ER+gET;EQx8DE;IApFI,2BAaG;ERkhET;EQ38DE;IApFI,yBAaG;ERqhET;EQ98DE;IApFI,2BAaG;ERwhET;EQj9DE;IApFI,yBAaG;ER2hET;EQp9DE;IApFI,yBAaG;ER8hET;EQv9DE;IApFI,UAaG;ERiiET;EQ19DE;IApFI,gBAaG;ERoiET;EQ79DE;IApFI,eAaG;ERuiET;EQh+DE;IApFI,aAaG;ER0iET;EQn+DE;IApFI,eAaG;ER6iET;EQt+DE;IApFI,aAaG;ERgjET;EQz+DE;IApFI,iBAaG;ERmjET;EQ5+DE;IApFI,uBAaG;ERsjET;EQ/+DE;IApFI,sBAaG;ERyjET;EQl/DE;IApFI,oBAaG;ER4jET;EQr/DE;IApFI,sBAaG;ER+jET;EQx/DE;IApFI,oBAaG;ERkkET;EQ3/DE;IApFI,gBAaG;ERqkET;EQ9/DE;IApFI,sBAaG;ERwkET;EQjgEE;IApFI,qBAaG;ER2kET;EQpgEE;IApFI,mBAaG;ER8kET;EQvgEE;IApFI,qBAaG;ERilET;EQ1gEE;IApFI,mBAaG;ERolET;EQ7gEE;IApFI,sBAaG;ERulET;EQhhEE;IApFI,4BAaG;ER0lET;EQnhEE;IApFI,2BAaG;ER6lET;EQthEE;IApFI,yBAaG;ERgmET;EQzhEE;IApFI,2BAaG;ERmmET;EQ5hEE;IApFI,yBAaG;ERsmET;EQ/hEE;IApFI,qBAaG;ERymET;EQliEE;IApFI,2BAaG;ER4mET;EQriEE;IApFI,0BAaG;ER+mET;EQxiEE;IApFI,wBAaG;ERknET;EQ3iEE;IApFI,0BAaG;ERqnET;EQ9iEE;IApFI,wBAaG;ERwnET;EQjjEE;IApFI,oBAaG;ER2nET;EQpjEE;IApFI,0BAaG;ER8nET;EQvjEE;IApFI,yBAaG;ERioET;EQ1jEE;IApFI,uBAaG;ERooET;EQ7jEE;IApFI,yBAaG;ERuoET;EQhkEE;IApFI,uBAaG;ER0oET;EQnkEE;IApFI,uBAaG;ER6oET;EQtkEE;IApFI,6BAaG;ERgpET;EQzkEE;IApFI,4BAaG;ERmpET;EQ5kEE;IApFI,0BAaG;ERspET;EQ/kEE;IApFI,4BAaG;ERypET;EQllEE;IApFI,0BAaG;ER4pET;EGnrEE;IK8FA;MApFI,eAkBO;IR2pEX;IQzlEA;MApFI,qBAkBO;IR8pEX;IQ5lEA;MApFI,cAkBO;IRiqEX;IQ/lEA;MApFI,aAkBO;IRoqEX;IQlmEA;MApFI,oBAkBO;IRuqEX;IQrmEA;MApFI,cAkBO;IR0qEX;IQxmEA;MApFI,kBAkBO;IR6qEX;IQ3mEA;MApFI,mBAkBO;IRgrEX;IQ9mEA;MApFI,aAkBO;IRmrEX;IQjnEA;MApFI,oBAkBO;IRsrEX;IQpnEA;MApFI,iBAkBO;IRyrEX;IQvnEA;MApFI,kBAkBO;IR4rEX;IQ1nEA;MApFI,aAkBO;IR+rEX;IQ7nEA;MApFI,cAaG;IRusEP;IQhoEA;MApFI,mBAkBO;IRqsEX;IQnoEA;MApFI,sBAkBO;IRwsEX;IQtoEA;MApFI,2BAkBO;IR2sEX;IQzoEA;MApFI,8BAkBO;IR8sEX;IQ5oEA;MApFI,YAaG;IRstEP;IQ/oEA;MApFI,YAaG;IRytEP;IQlpEA;MApFI,cAaG;IR4tEP;IQrpEA;MApFI,cAaG;IR+tEP;IQxpEA;MApFI,eAkBO;IR6tEX;IQ3pEA;MApFI,iBAkBO;IRguEX;IQ9pEA;MApFI,uBAkBO;IRmuEX;IQjqEA;MApFI,2BAaG;IR2uEP;IQpqEA;MApFI,yBAaG;IR8uEP;IQvqEA;MApFI,uBAaG;IRivEP;IQ1qEA;MApFI,8BAaG;IRovEP;IQ7qEA;MApFI,6BAaG;IRuvEP;IQhrEA;MApFI,6BAaG;IR0vEP;IQnrEA;MApFI,oBAaG;IR6vEP;IQtrEA;MApFI,kBAaG;IRgwEP;IQzrEA;MApFI,qBAaG;IRmwEP;IQ5rEA;MApFI,sBAaG;IRswEP;IQ/rEA;MApFI,uBAaG;IRywEP;IQlsEA;MApFI,qBAaG;IR4wEP;IQrsEA;MApFI,mBAaG;IR+wEP;IQxsEA;MApFI,qBAaG;IRkxEP;IQ3sEA;MApFI,oBAaG;IRqxEP;IQ9sEA;MApFI,yBAaG;IRwxEP;IQjtEA;MApFI,uBAaG;IR2xEP;IQptEA;MApFI,qBAaG;IR8xEP;IQvtEA;MApFI,4BAaG;IRiyEP;IQ1tEA;MApFI,2BAaG;IRoyEP;IQ7tEA;MApFI,sBAaG;IRuyEP;IQhuEA;MApFI,gBAaG;IR0yEP;IQnuEA;MApFI,sBAaG;IR6yEP;IQtuEA;MApFI,oBAaG;IRgzEP;IQzuEA;MApFI,kBAaG;IRmzEP;IQ5uEA;MApFI,oBAaG;IRszEP;IQ/uEA;MApFI,mBAaG;IRyzEP;IQlvEA;MApFI,kBAaG;IR4zEP;IQrvEA;MApFI,gBAaG;IR+zEP;IQxvEA;MApFI,mBAaG;IRk0EP;IQ3vEA;MApFI,oBAaG;IRq0EP;IQ9vEA;MApFI,SAaG;IRw0EP;IQjwEA;MApFI,QAaG;IR20EP;IQpwEA;MApFI,QAaG;IR80EP;IQvwEA;MApFI,QAaG;IRi1EP;IQ1wEA;MApFI,QAaG;IRo1EP;IQ7wEA;MApFI,QAaG;IRu1EP;IQhxEA;MApFI,QAaG;IR01EP;IQnxEA;MApFI,QAaG;IR61EP;IQtxEA;MApFI,SAaG;IRg2EP;IQzxEA;MApFI,eAaG;IRm2EP;IQ5xEA;MApFI,cAaG;IRs2EP;IQ/xEA;MApFI,YAaG;IRy2EP;IQlyEA;MApFI,cAaG;IR42EP;IQryEA;MApFI,YAaG;IR+2EP;IQxyEA;MApFI,YAaG;IRk3EP;IQ3yEA;MApFI,gBAaG;IRq3EP;IQ9yEA;MApFI,sBAaG;IRw3EP;IQjzEA;MApFI,qBAaG;IR23EP;IQpzEA;MApFI,mBAaG;IR83EP;IQvzEA;MApFI,qBAaG;IRi4EP;IQ1zEA;MApFI,mBAaG;IRo4EP;IQ7zEA;MApFI,mBAaG;IRu4EP;IQh0EA;MApFI,eAaG;IR04EP;IQn0EA;MApFI,qBAaG;IR64EP;IQt0EA;MApFI,oBAaG;IRg5EP;IQz0EA;MApFI,kBAaG;IRm5EP;IQ50EA;MApFI,oBAaG;IRs5EP;IQ/0EA;MApFI,kBAaG;IRy5EP;IQl1EA;MApFI,kBAaG;IR45EP;IQr1EA;MApFI,qBAaG;IR+5EP;IQx1EA;MApFI,2BAaG;IRk6EP;IQ31EA;MApFI,0BAaG;IRq6EP;IQ91EA;MApFI,wBAaG;IRw6EP;IQj2EA;MApFI,0BAaG;IR26EP;IQp2EA;MApFI,wBAaG;IR86EP;IQv2EA;MApFI,wBAaG;IRi7EP;IQ12EA;MApFI,oBAaG;IRo7EP;IQ72EA;MApFI,0BAaG;IRu7EP;IQh3EA;MApFI,yBAaG;IR07EP;IQn3EA;MApFI,uBAaG;IR67EP;IQt3EA;MApFI,yBAaG;IRg8EP;IQz3EA;MApFI,uBAaG;IRm8EP;IQ53EA;MApFI,uBAaG;IRs8EP;IQ/3EA;MApFI,mBAaG;IRy8EP;IQl4EA;MApFI,yBAaG;IR48EP;IQr4EA;MApFI,wBAaG;IR+8EP;IQx4EA;MApFI,sBAaG;IRk9EP;IQ34EA;MApFI,wBAaG;IRq9EP;IQ94EA;MApFI,sBAaG;IRw9EP;IQj5EA;MApFI,sBAaG;IR29EP;IQp5EA;MApFI,sBAaG;IR89EP;IQv5EA;MApFI,4BAaG;IRi+EP;IQ15EA;MApFI,2BAaG;IRo+EP;IQ75EA;MApFI,yBAaG;IRu+EP;IQh6EA;MApFI,2BAaG;IR0+EP;IQn6EA;MApFI,yBAaG;IR6+EP;IQt6EA;MApFI,yBAaG;IRg/EP;IQz6EA;MApFI,UAaG;IRm/EP;IQ56EA;MApFI,gBAaG;IRs/EP;IQ/6EA;MApFI,eAaG;IRy/EP;IQl7EA;MApFI,aAaG;IR4/EP;IQr7EA;MApFI,eAaG;IR+/EP;IQx7EA;MApFI,aAaG;IRkgFP;IQ37EA;MApFI,iBAaG;IRqgFP;IQ97EA;MApFI,uBAaG;IRwgFP;IQj8EA;MApFI,sBAaG;IR2gFP;IQp8EA;MApFI,oBAaG;IR8gFP;IQv8EA;MApFI,sBAaG;IRihFP;IQ18EA;MApFI,oBAaG;IRohFP;IQ78EA;MApFI,gBAaG;IRuhFP;IQh9EA;MApFI,sBAaG;IR0hFP;IQn9EA;MApFI,qBAaG;IR6hFP;IQt9EA;MApFI,mBAaG;IRgiFP;IQz9EA;MApFI,qBAaG;IRmiFP;IQ59EA;MApFI,mBAaG;IRsiFP;IQ/9EA;MApFI,sBAaG;IRyiFP;IQl+EA;MApFI,4BAaG;IR4iFP;IQr+EA;MApFI,2BAaG;IR+iFP;IQx+EA;MApFI,yBAaG;IRkjFP;IQ3+EA;MApFI,2BAaG;IRqjFP;IQ9+EA;MApFI,yBAaG;IRwjFP;IQj/EA;MApFI,qBAaG;IR2jFP;IQp/EA;MApFI,2BAaG;IR8jFP;IQv/EA;MApFI,0BAaG;IRikFP;IQ1/EA;MApFI,wBAaG;IRokFP;IQ7/EA;MApFI,0BAaG;IRukFP;IQhgFA;MApFI,wBAaG;IR0kFP;IQngFA;MApFI,oBAaG;IR6kFP;IQtgFA;MApFI,0BAaG;IRglFP;IQzgFA;MApFI,yBAaG;IRmlFP;IQ5gFA;MApFI,uBAaG;IRslFP;IQ/gFA;MApFI,yBAaG;IRylFP;IQlhFA;MApFI,uBAaG;IR4lFP;IQrhFA;MApFI,uBAaG;IR+lFP;IQxhFA;MApFI,6BAaG;IRkmFP;IQ3hFA;MApFI,4BAaG;IRqmFP;IQ9hFA;MApFI,0BAaG;IRwmFP;IQjiFA;MApFI,4BAaG;IR2mFP;IQpiFA;MApFI,0BAaG;IR8mFP;EACF;EGtoFE;IK8FA;MApFI,eAkBO;IR8mFX;IQ5iFA;MApFI,qBAkBO;IRinFX;IQ/iFA;MApFI,cAkBO;IRonFX;IQljFA;MApFI,aAkBO;IRunFX;IQrjFA;MApFI,oBAkBO;IR0nFX;IQxjFA;MApFI,cAkBO;IR6nFX;IQ3jFA;MApFI,kBAkBO;IRgoFX;IQ9jFA;MApFI,mBAkBO;IRmoFX;IQjkFA;MApFI,aAkBO;IRsoFX;IQpkFA;MApFI,oBAkBO;IRyoFX;IQvkFA;MApFI,iBAkBO;IR4oFX;IQ1kFA;MApFI,kBAkBO;IR+oFX;IQ7kFA;MApFI,aAkBO;IRkpFX;IQhlFA;MApFI,cAaG;IR0pFP;IQnlFA;MApFI,mBAkBO;IRwpFX;IQtlFA;MApFI,sBAkBO;IR2pFX;IQzlFA;MApFI,2BAkBO;IR8pFX;IQ5lFA;MApFI,8BAkBO;IRiqFX;IQ/lFA;MApFI,YAaG;IRyqFP;IQlmFA;MApFI,YAaG;IR4qFP;IQrmFA;MApFI,cAaG;IR+qFP;IQxmFA;MApFI,cAaG;IRkrFP;IQ3mFA;MApFI,eAkBO;IRgrFX;IQ9mFA;MApFI,iBAkBO;IRmrFX;IQjnFA;MApFI,uBAkBO;IRsrFX;IQpnFA;MApFI,2BAaG;IR8rFP;IQvnFA;MApFI,yBAaG;IRisFP;IQ1nFA;MApFI,uBAaG;IRosFP;IQ7nFA;MApFI,8BAaG;IRusFP;IQhoFA;MApFI,6BAaG;IR0sFP;IQnoFA;MApFI,6BAaG;IR6sFP;IQtoFA;MApFI,oBAaG;IRgtFP;IQzoFA;MApFI,kBAaG;IRmtFP;IQ5oFA;MApFI,qBAaG;IRstFP;IQ/oFA;MApFI,sBAaG;IRytFP;IQlpFA;MApFI,uBAaG;IR4tFP;IQrpFA;MApFI,qBAaG;IR+tFP;IQxpFA;MApFI,mBAaG;IRkuFP;IQ3pFA;MApFI,qBAaG;IRquFP;IQ9pFA;MApFI,oBAaG;IRwuFP;IQjqFA;MApFI,yBAaG;IR2uFP;IQpqFA;MApFI,uBAaG;IR8uFP;IQvqFA;MApFI,qBAaG;IRivFP;IQ1qFA;MApFI,4BAaG;IRovFP;IQ7qFA;MApFI,2BAaG;IRuvFP;IQhrFA;MApFI,sBAaG;IR0vFP;IQnrFA;MApFI,gBAaG;IR6vFP;IQtrFA;MApFI,sBAaG;IRgwFP;IQzrFA;MApFI,oBAaG;IRmwFP;IQ5rFA;MApFI,kBAaG;IRswFP;IQ/rFA;MApFI,oBAaG;IRywFP;IQlsFA;MApFI,mBAaG;IR4wFP;IQrsFA;MApFI,kBAaG;IR+wFP;IQxsFA;MApFI,gBAaG;IRkxFP;IQ3sFA;MApFI,mBAaG;IRqxFP;IQ9sFA;MApFI,oBAaG;IRwxFP;IQjtFA;MApFI,SAaG;IR2xFP;IQptFA;MApFI,QAaG;IR8xFP;IQvtFA;MApFI,QAaG;IRiyFP;IQ1tFA;MApFI,QAaG;IRoyFP;IQ7tFA;MApFI,QAaG;IRuyFP;IQhuFA;MApFI,QAaG;IR0yFP;IQnuFA;MApFI,QAaG;IR6yFP;IQtuFA;MApFI,QAaG;IRgzFP;IQzuFA;MApFI,SAaG;IRmzFP;IQ5uFA;MApFI,eAaG;IRszFP;IQ/uFA;MApFI,cAaG;IRyzFP;IQlvFA;MApFI,YAaG;IR4zFP;IQrvFA;MApFI,cAaG;IR+zFP;IQxvFA;MApFI,YAaG;IRk0FP;IQ3vFA;MApFI,YAaG;IRq0FP;IQ9vFA;MApFI,gBAaG;IRw0FP;IQjwFA;MApFI,sBAaG;IR20FP;IQpwFA;MApFI,qBAaG;IR80FP;IQvwFA;MApFI,mBAaG;IRi1FP;IQ1wFA;MApFI,qBAaG;IRo1FP;IQ7wFA;MApFI,mBAaG;IRu1FP;IQhxFA;MApFI,mBAaG;IR01FP;IQnxFA;MApFI,eAaG;IR61FP;IQtxFA;MApFI,qBAaG;IRg2FP;IQzxFA;MApFI,oBAaG;IRm2FP;IQ5xFA;MApFI,kBAaG;IRs2FP;IQ/xFA;MApFI,oBAaG;IRy2FP;IQlyFA;MApFI,kBAaG;IR42FP;IQryFA;MApFI,kBAaG;IR+2FP;IQxyFA;MApFI,qBAaG;IRk3FP;IQ3yFA;MApFI,2BAaG;IRq3FP;IQ9yFA;MApFI,0BAaG;IRw3FP;IQjzFA;MApFI,wBAaG;IR23FP;IQpzFA;MApFI,0BAaG;IR83FP;IQvzFA;MApFI,wBAaG;IRi4FP;IQ1zFA;MApFI,wBAaG;IRo4FP;IQ7zFA;MApFI,oBAaG;IRu4FP;IQh0FA;MApFI,0BAaG;IR04FP;IQn0FA;MApFI,yBAaG;IR64FP;IQt0FA;MApFI,uBAaG;IRg5FP;IQz0FA;MApFI,yBAaG;IRm5FP;IQ50FA;MApFI,uBAaG;IRs5FP;IQ/0FA;MApFI,uBAaG;IRy5FP;IQl1FA;MApFI,mBAaG;IR45FP;IQr1FA;MApFI,yBAaG;IR+5FP;IQx1FA;MApFI,wBAaG;IRk6FP;IQ31FA;MApFI,sBAaG;IRq6FP;IQ91FA;MApFI,wBAaG;IRw6FP;IQj2FA;MApFI,sBAaG;IR26FP;IQp2FA;MApFI,sBAaG;IR86FP;IQv2FA;MApFI,sBAaG;IRi7FP;IQ12FA;MApFI,4BAaG;IRo7FP;IQ72FA;MApFI,2BAaG;IRu7FP;IQh3FA;MApFI,yBAaG;IR07FP;IQn3FA;MApFI,2BAaG;IR67FP;IQt3FA;MApFI,yBAaG;IRg8FP;IQz3FA;MApFI,yBAaG;IRm8FP;IQ53FA;MApFI,UAaG;IRs8FP;IQ/3FA;MApFI,gBAaG;IRy8FP;IQl4FA;MApFI,eAaG;IR48FP;IQr4FA;MApFI,aAaG;IR+8FP;IQx4FA;MApFI,eAaG;IRk9FP;IQ34FA;MApFI,aAaG;IRq9FP;IQ94FA;MApFI,iBAaG;IRw9FP;IQj5FA;MApFI,uBAaG;IR29FP;IQp5FA;MApFI,sBAaG;IR89FP;IQv5FA;MApFI,oBAaG;IRi+FP;IQ15FA;MApFI,sBAaG;IRo+FP;IQ75FA;MApFI,oBAaG;IRu+FP;IQh6FA;MApFI,gBAaG;IR0+FP;IQn6FA;MApFI,sBAaG;IR6+FP;IQt6FA;MApFI,qBAaG;IRg/FP;IQz6FA;MApFI,mBAaG;IRm/FP;IQ56FA;MApFI,qBAaG;IRs/FP;IQ/6FA;MApFI,mBAaG;IRy/FP;IQl7FA;MApFI,sBAaG;IR4/FP;IQr7FA;MApFI,4BAaG;IR+/FP;IQx7FA;MApFI,2BAaG;IRkgGP;IQ37FA;MApFI,yBAaG;IRqgGP;IQ97FA;MApFI,2BAaG;IRwgGP;IQj8FA;MApFI,yBAaG;IR2gGP;IQp8FA;MApFI,qBAaG;IR8gGP;IQv8FA;MApFI,2BAaG;IRihGP;IQ18FA;MApFI,0BAaG;IRohGP;IQ78FA;MApFI,wBAaG;IRuhGP;IQh9FA;MApFI,0BAaG;IR0hGP;IQn9FA;MApFI,wBAaG;IR6hGP;IQt9FA;MApFI,oBAaG;IRgiGP;IQz9FA;MApFI,0BAaG;IRmiGP;IQ59FA;MApFI,yBAaG;IRsiGP;IQ/9FA;MApFI,uBAaG;IRyiGP;IQl+FA;MApFI,yBAaG;IR4iGP;IQr+FA;MApFI,uBAaG;IR+iGP;IQx+FA;MApFI,uBAaG;IRkjGP;IQ3+FA;MApFI,6BAaG;IRqjGP;IQ9+FA;MApFI,4BAaG;IRwjGP;IQj/FA;MApFI,0BAaG;IR2jGP;IQp/FA;MApFI,4BAaG;IR8jGP;IQv/FA;MApFI,0BAaG;IRikGP;EACF;EGzlGE;IK8FA;MApFI,eAkBO;IRikGX;IQ//FA;MApFI,qBAkBO;IRokGX;IQlgGA;MApFI,cAkBO;IRukGX;IQrgGA;MApFI,aAkBO;IR0kGX;IQxgGA;MApFI,oBAkBO;IR6kGX;IQ3gGA;MApFI,cAkBO;IRglGX;IQ9gGA;MApFI,kBAkBO;IRmlGX;IQjhGA;MApFI,mBAkBO;IRslGX;IQphGA;MApFI,aAkBO;IRylGX;IQvhGA;MApFI,oBAkBO;IR4lGX;IQ1hGA;MApFI,iBAkBO;IR+lGX;IQ7hGA;MApFI,kBAkBO;IRkmGX;IQhiGA;MApFI,aAkBO;IRqmGX;IQniGA;MApFI,cAaG;IR6mGP;IQtiGA;MApFI,mBAkBO;IR2mGX;IQziGA;MApFI,sBAkBO;IR8mGX;IQ5iGA;MApFI,2BAkBO;IRinGX;IQ/iGA;MApFI,8BAkBO;IRonGX;IQljGA;MApFI,YAaG;IR4nGP;IQrjGA;MApFI,YAaG;IR+nGP;IQxjGA;MApFI,cAaG;IRkoGP;IQ3jGA;MApFI,cAaG;IRqoGP;IQ9jGA;MApFI,eAkBO;IRmoGX;IQjkGA;MApFI,iBAkBO;IRsoGX;IQpkGA;MApFI,uBAkBO;IRyoGX;IQvkGA;MApFI,2BAaG;IRipGP;IQ1kGA;MApFI,yBAaG;IRopGP;IQ7kGA;MApFI,uBAaG;IRupGP;IQhlGA;MApFI,8BAaG;IR0pGP;IQnlGA;MApFI,6BAaG;IR6pGP;IQtlGA;MApFI,6BAaG;IRgqGP;IQzlGA;MApFI,oBAaG;IRmqGP;IQ5lGA;MApFI,kBAaG;IRsqGP;IQ/lGA;MApFI,qBAaG;IRyqGP;IQlmGA;MApFI,sBAaG;IR4qGP;IQrmGA;MApFI,uBAaG;IR+qGP;IQxmGA;MApFI,qBAaG;IRkrGP;IQ3mGA;MApFI,mBAaG;IRqrGP;IQ9mGA;MApFI,qBAaG;IRwrGP;IQjnGA;MApFI,oBAaG;IR2rGP;IQpnGA;MApFI,yBAaG;IR8rGP;IQvnGA;MApFI,uBAaG;IRisGP;IQ1nGA;MApFI,qBAaG;IRosGP;IQ7nGA;MApFI,4BAaG;IRusGP;IQhoGA;MApFI,2BAaG;IR0sGP;IQnoGA;MApFI,sBAaG;IR6sGP;IQtoGA;MApFI,gBAaG;IRgtGP;IQzoGA;MApFI,sBAaG;IRmtGP;IQ5oGA;MApFI,oBAaG;IRstGP;IQ/oGA;MApFI,kBAaG;IRytGP;IQlpGA;MApFI,oBAaG;IR4tGP;IQrpGA;MApFI,mBAaG;IR+tGP;IQxpGA;MApFI,kBAaG;IRkuGP;IQ3pGA;MApFI,gBAaG;IRquGP;IQ9pGA;MApFI,mBAaG;IRwuGP;IQjqGA;MApFI,oBAaG;IR2uGP;IQpqGA;MApFI,SAaG;IR8uGP;IQvqGA;MApFI,QAaG;IRivGP;IQ1qGA;MApFI,QAaG;IRovGP;IQ7qGA;MApFI,QAaG;IRuvGP;IQhrGA;MApFI,QAaG;IR0vGP;IQnrGA;MApFI,QAaG;IR6vGP;IQtrGA;MApFI,QAaG;IRgwGP;IQzrGA;MApFI,QAaG;IRmwGP;IQ5rGA;MApFI,SAaG;IRswGP;IQ/rGA;MApFI,eAaG;IRywGP;IQlsGA;MApFI,cAaG;IR4wGP;IQrsGA;MApFI,YAaG;IR+wGP;IQxsGA;MApFI,cAaG;IRkxGP;IQ3sGA;MApFI,YAaG;IRqxGP;IQ9sGA;MApFI,YAaG;IRwxGP;IQjtGA;MApFI,gBAaG;IR2xGP;IQptGA;MApFI,sBAaG;IR8xGP;IQvtGA;MApFI,qBAaG;IRiyGP;IQ1tGA;MApFI,mBAaG;IRoyGP;IQ7tGA;MApFI,qBAaG;IRuyGP;IQhuGA;MApFI,mBAaG;IR0yGP;IQnuGA;MApFI,mBAaG;IR6yGP;IQtuGA;MApFI,eAaG;IRgzGP;IQzuGA;MApFI,qBAaG;IRmzGP;IQ5uGA;MApFI,oBAaG;IRszGP;IQ/uGA;MApFI,kBAaG;IRyzGP;IQlvGA;MApFI,oBAaG;IR4zGP;IQrvGA;MApFI,kBAaG;IR+zGP;IQxvGA;MApFI,kBAaG;IRk0GP;IQ3vGA;MApFI,qBAaG;IRq0GP;IQ9vGA;MApFI,2BAaG;IRw0GP;IQjwGA;MApFI,0BAaG;IR20GP;IQpwGA;MApFI,wBAaG;IR80GP;IQvwGA;MApFI,0BAaG;IRi1GP;IQ1wGA;MApFI,wBAaG;IRo1GP;IQ7wGA;MApFI,wBAaG;IRu1GP;IQhxGA;MApFI,oBAaG;IR01GP;IQnxGA;MApFI,0BAaG;IR61GP;IQtxGA;MApFI,yBAaG;IRg2GP;IQzxGA;MApFI,uBAaG;IRm2GP;IQ5xGA;MApFI,yBAaG;IRs2GP;IQ/xGA;MApFI,uBAaG;IRy2GP;IQlyGA;MApFI,uBAaG;IR42GP;IQryGA;MApFI,mBAaG;IR+2GP;IQxyGA;MApFI,yBAaG;IRk3GP;IQ3yGA;MApFI,wBAaG;IRq3GP;IQ9yGA;MApFI,sBAaG;IRw3GP;IQjzGA;MApFI,wBAaG;IR23GP;IQpzGA;MApFI,sBAaG;IR83GP;IQvzGA;MApFI,sBAaG;IRi4GP;IQ1zGA;MApFI,sBAaG;IRo4GP;IQ7zGA;MApFI,4BAaG;IRu4GP;IQh0GA;MApFI,2BAaG;IR04GP;IQn0GA;MApFI,yBAaG;IR64GP;IQt0GA;MApFI,2BAaG;IRg5GP;IQz0GA;MApFI,yBAaG;IRm5GP;IQ50GA;MApFI,yBAaG;IRs5GP;IQ/0GA;MApFI,UAaG;IRy5GP;IQl1GA;MApFI,gBAaG;IR45GP;IQr1GA;MApFI,eAaG;IR+5GP;IQx1GA;MApFI,aAaG;IRk6GP;IQ31GA;MApFI,eAaG;IRq6GP;IQ91GA;MApFI,aAaG;IRw6GP;IQj2GA;MApFI,iBAaG;IR26GP;IQp2GA;MApFI,uBAaG;IR86GP;IQv2GA;MApFI,sBAaG;IRi7GP;IQ12GA;MApFI,oBAaG;IRo7GP;IQ72GA;MApFI,sBAaG;IRu7GP;IQh3GA;MApFI,oBAaG;IR07GP;IQn3GA;MApFI,gBAaG;IR67GP;IQt3GA;MApFI,sBAaG;IRg8GP;IQz3GA;MApFI,qBAaG;IRm8GP;IQ53GA;MApFI,mBAaG;IRs8GP;IQ/3GA;MApFI,qBAaG;IRy8GP;IQl4GA;MApFI,mBAaG;IR48GP;IQr4GA;MApFI,sBAaG;IR+8GP;IQx4GA;MApFI,4BAaG;IRk9GP;IQ34GA;MApFI,2BAaG;IRq9GP;IQ94GA;MApFI,yBAaG;IRw9GP;IQj5GA;MApFI,2BAaG;IR29GP;IQp5GA;MApFI,yBAaG;IR89GP;IQv5GA;MApFI,qBAaG;IRi+GP;IQ15GA;MApFI,2BAaG;IRo+GP;IQ75GA;MApFI,0BAaG;IRu+GP;IQh6GA;MApFI,wBAaG;IR0+GP;IQn6GA;MApFI,0BAaG;IR6+GP;IQt6GA;MApFI,wBAaG;IRg/GP;IQz6GA;MApFI,oBAaG;IRm/GP;IQ56GA;MApFI,0BAaG;IRs/GP;IQ/6GA;MApFI,yBAaG;IRy/GP;IQl7GA;MApFI,uBAaG;IR4/GP;IQr7GA;MApFI,yBAaG;IR+/GP;IQx7GA;MApFI,uBAaG;IRkgHP;IQ37GA;MApFI,uBAaG;IRqgHP;IQ97GA;MApFI,6BAaG;IRwgHP;IQj8GA;MApFI,4BAaG;IR2gHP;IQp8GA;MApFI,0BAaG;IR8gHP;IQv8GA;MApFI,4BAaG;IRihHP;IQ18GA;MApFI,0BAaG;IRohHP;EACF;EG5iHE;IK8FA;MApFI,eAkBO;IRohHX;IQl9GA;MApFI,qBAkBO;IRuhHX;IQr9GA;MApFI,cAkBO;IR0hHX;IQx9GA;MApFI,aAkBO;IR6hHX;IQ39GA;MApFI,oBAkBO;IRgiHX;IQ99GA;MApFI,cAkBO;IRmiHX;IQj+GA;MApFI,kBAkBO;IRsiHX;IQp+GA;MApFI,mBAkBO;IRyiHX;IQv+GA;MApFI,aAkBO;IR4iHX;IQ1+GA;MApFI,oBAkBO;IR+iHX;IQ7+GA;MApFI,iBAkBO;IRkjHX;IQh/GA;MApFI,kBAkBO;IRqjHX;IQn/GA;MApFI,aAkBO;IRwjHX;IQt/GA;MApFI,cAaG;IRgkHP;IQz/GA;MApFI,mBAkBO;IR8jHX;IQ5/GA;MApFI,sBAkBO;IRikHX;IQ//GA;MApFI,2BAkBO;IRokHX;IQlgHA;MApFI,8BAkBO;IRukHX;IQrgHA;MApFI,YAaG;IR+kHP;IQxgHA;MApFI,YAaG;IRklHP;IQ3gHA;MApFI,cAaG;IRqlHP;IQ9gHA;MApFI,cAaG;IRwlHP;IQjhHA;MApFI,eAkBO;IRslHX;IQphHA;MApFI,iBAkBO;IRylHX;IQvhHA;MApFI,uBAkBO;IR4lHX;IQ1hHA;MApFI,2BAaG;IRomHP;IQ7hHA;MApFI,yBAaG;IRumHP;IQhiHA;MApFI,uBAaG;IR0mHP;IQniHA;MApFI,8BAaG;IR6mHP;IQtiHA;MApFI,6BAaG;IRgnHP;IQziHA;MApFI,6BAaG;IRmnHP;IQ5iHA;MApFI,oBAaG;IRsnHP;IQ/iHA;MApFI,kBAaG;IRynHP;IQljHA;MApFI,qBAaG;IR4nHP;IQrjHA;MApFI,sBAaG;IR+nHP;IQxjHA;MApFI,uBAaG;IRkoHP;IQ3jHA;MApFI,qBAaG;IRqoHP;IQ9jHA;MApFI,mBAaG;IRwoHP;IQjkHA;MApFI,qBAaG;IR2oHP;IQpkHA;MApFI,oBAaG;IR8oHP;IQvkHA;MApFI,yBAaG;IRipHP;IQ1kHA;MApFI,uBAaG;IRopHP;IQ7kHA;MApFI,qBAaG;IRupHP;IQhlHA;MApFI,4BAaG;IR0pHP;IQnlHA;MApFI,2BAaG;IR6pHP;IQtlHA;MApFI,sBAaG;IRgqHP;IQzlHA;MApFI,gBAaG;IRmqHP;IQ5lHA;MApFI,sBAaG;IRsqHP;IQ/lHA;MApFI,oBAaG;IRyqHP;IQlmHA;MApFI,kBAaG;IR4qHP;IQrmHA;MApFI,oBAaG;IR+qHP;IQxmHA;MApFI,mBAaG;IRkrHP;IQ3mHA;MApFI,kBAaG;IRqrHP;IQ9mHA;MApFI,gBAaG;IRwrHP;IQjnHA;MApFI,mBAaG;IR2rHP;IQpnHA;MApFI,oBAaG;IR8rHP;IQvnHA;MApFI,SAaG;IRisHP;IQ1nHA;MApFI,QAaG;IRosHP;IQ7nHA;MApFI,QAaG;IRusHP;IQhoHA;MApFI,QAaG;IR0sHP;IQnoHA;MApFI,QAaG;IR6sHP;IQtoHA;MApFI,QAaG;IRgtHP;IQzoHA;MApFI,QAaG;IRmtHP;IQ5oHA;MApFI,QAaG;IRstHP;IQ/oHA;MApFI,SAaG;IRytHP;IQlpHA;MApFI,eAaG;IR4tHP;IQrpHA;MApFI,cAaG;IR+tHP;IQxpHA;MApFI,YAaG;IRkuHP;IQ3pHA;MApFI,cAaG;IRquHP;IQ9pHA;MApFI,YAaG;IRwuHP;IQjqHA;MApFI,YAaG;IR2uHP;IQpqHA;MApFI,gBAaG;IR8uHP;IQvqHA;MApFI,sBAaG;IRivHP;IQ1qHA;MApFI,qBAaG;IRovHP;IQ7qHA;MApFI,mBAaG;IRuvHP;IQhrHA;MApFI,qBAaG;IR0vHP;IQnrHA;MApFI,mBAaG;IR6vHP;IQtrHA;MApFI,mBAaG;IRgwHP;IQzrHA;MApFI,eAaG;IRmwHP;IQ5rHA;MApFI,qBAaG;IRswHP;IQ/rHA;MApFI,oBAaG;IRywHP;IQlsHA;MApFI,kBAaG;IR4wHP;IQrsHA;MApFI,oBAaG;IR+wHP;IQxsHA;MApFI,kBAaG;IRkxHP;IQ3sHA;MApFI,kBAaG;IRqxHP;IQ9sHA;MApFI,qBAaG;IRwxHP;IQjtHA;MApFI,2BAaG;IR2xHP;IQptHA;MApFI,0BAaG;IR8xHP;IQvtHA;MApFI,wBAaG;IRiyHP;IQ1tHA;MApFI,0BAaG;IRoyHP;IQ7tHA;MApFI,wBAaG;IRuyHP;IQhuHA;MApFI,wBAaG;IR0yHP;IQnuHA;MApFI,oBAaG;IR6yHP;IQtuHA;MApFI,0BAaG;IRgzHP;IQzuHA;MApFI,yBAaG;IRmzHP;IQ5uHA;MApFI,uBAaG;IRszHP;IQ/uHA;MApFI,yBAaG;IRyzHP;IQlvHA;MApFI,uBAaG;IR4zHP;IQrvHA;MApFI,uBAaG;IR+zHP;IQxvHA;MApFI,mBAaG;IRk0HP;IQ3vHA;MApFI,yBAaG;IRq0HP;IQ9vHA;MApFI,wBAaG;IRw0HP;IQjwHA;MApFI,sBAaG;IR20HP;IQpwHA;MApFI,wBAaG;IR80HP;IQvwHA;MApFI,sBAaG;IRi1HP;IQ1wHA;MApFI,sBAaG;IRo1HP;IQ7wHA;MApFI,sBAaG;IRu1HP;IQhxHA;MApFI,4BAaG;IR01HP;IQnxHA;MApFI,2BAaG;IR61HP;IQtxHA;MApFI,yBAaG;IRg2HP;IQzxHA;MApFI,2BAaG;IRm2HP;IQ5xHA;MApFI,yBAaG;IRs2HP;IQ/xHA;MApFI,yBAaG;IRy2HP;IQlyHA;MApFI,UAaG;IR42HP;IQryHA;MApFI,gBAaG;IR+2HP;IQxyHA;MApFI,eAaG;IRk3HP;IQ3yHA;MApFI,aAaG;IRq3HP;IQ9yHA;MApFI,eAaG;IRw3HP;IQjzHA;MApFI,aAaG;IR23HP;IQpzHA;MApFI,iBAaG;IR83HP;IQvzHA;MApFI,uBAaG;IRi4HP;IQ1zHA;MApFI,sBAaG;IRo4HP;IQ7zHA;MApFI,oBAaG;IRu4HP;IQh0HA;MApFI,sBAaG;IR04HP;IQn0HA;MApFI,oBAaG;IR64HP;IQt0HA;MApFI,gBAaG;IRg5HP;IQz0HA;MApFI,sBAaG;IRm5HP;IQ50HA;MApFI,qBAaG;IRs5HP;IQ/0HA;MApFI,mBAaG;IRy5HP;IQl1HA;MApFI,qBAaG;IR45HP;IQr1HA;MApFI,mBAaG;IR+5HP;IQx1HA;MApFI,sBAaG;IRk6HP;IQ31HA;MApFI,4BAaG;IRq6HP;IQ91HA;MApFI,2BAaG;IRw6HP;IQj2HA;MApFI,yBAaG;IR26HP;IQp2HA;MApFI,2BAaG;IR86HP;IQv2HA;MApFI,yBAaG;IRi7HP;IQ12HA;MApFI,qBAaG;IRo7HP;IQ72HA;MApFI,2BAaG;IRu7HP;IQh3HA;MApFI,0BAaG;IR07HP;IQn3HA;MApFI,wBAaG;IR67HP;IQt3HA;MApFI,0BAaG;IRg8HP;IQz3HA;MApFI,wBAaG;IRm8HP;IQ53HA;MApFI,oBAaG;IRs8HP;IQ/3HA;MApFI,0BAaG;IRy8HP;IQl4HA;MApFI,yBAaG;IR48HP;IQr4HA;MApFI,uBAaG;IR+8HP;IQx4HA;MApFI,yBAaG;IRk9HP;IQ34HA;MApFI,uBAaG;IRq9HP;IQ94HA;MApFI,uBAaG;IRw9HP;IQj5HA;MApFI,6BAaG;IR29HP;IQp5HA;MApFI,4BAaG;IR89HP;IQv5HA;MApFI,0BAaG;IRi+HP;IQ15HA;MApFI,4BAaG;IRo+HP;IQ75HA;MApFI,0BAaG;IRu+HP;EACF;EG//HE;IK8FA;MApFI,eAkBO;IRu+HX;IQr6HA;MApFI,qBAkBO;IR0+HX;IQx6HA;MApFI,cAkBO;IR6+HX;IQ36HA;MApFI,aAkBO;IRg/HX;IQ96HA;MApFI,oBAkBO;IRm/HX;IQj7HA;MApFI,cAkBO;IRs/HX;IQp7HA;MApFI,kBAkBO;IRy/HX;IQv7HA;MApFI,mBAkBO;IR4/HX;IQ17HA;MApFI,aAkBO;IR+/HX;IQ77HA;MApFI,oBAkBO;IRkgIX;IQh8HA;MApFI,iBAkBO;IRqgIX;IQn8HA;MApFI,kBAkBO;IRwgIX;IQt8HA;MApFI,aAkBO;IR2gIX;IQz8HA;MApFI,cAaG;IRmhIP;IQ58HA;MApFI,mBAkBO;IRihIX;IQ/8HA;MApFI,sBAkBO;IRohIX;IQl9HA;MApFI,2BAkBO;IRuhIX;IQr9HA;MApFI,8BAkBO;IR0hIX;IQx9HA;MApFI,YAaG;IRkiIP;IQ39HA;MApFI,YAaG;IRqiIP;IQ99HA;MApFI,cAaG;IRwiIP;IQj+HA;MApFI,cAaG;IR2iIP;IQp+HA;MApFI,eAkBO;IRyiIX;IQv+HA;MApFI,iBAkBO;IR4iIX;IQ1+HA;MApFI,uBAkBO;IR+iIX;IQ7+HA;MApFI,2BAaG;IRujIP;IQh/HA;MApFI,yBAaG;IR0jIP;IQn/HA;MApFI,uBAaG;IR6jIP;IQt/HA;MApFI,8BAaG;IRgkIP;IQz/HA;MApFI,6BAaG;IRmkIP;IQ5/HA;MApFI,6BAaG;IRskIP;IQ//HA;MApFI,oBAaG;IRykIP;IQlgIA;MApFI,kBAaG;IR4kIP;IQrgIA;MApFI,qBAaG;IR+kIP;IQxgIA;MApFI,sBAaG;IRklIP;IQ3gIA;MApFI,uBAaG;IRqlIP;IQ9gIA;MApFI,qBAaG;IRwlIP;IQjhIA;MApFI,mBAaG;IR2lIP;IQphIA;MApFI,qBAaG;IR8lIP;IQvhIA;MApFI,oBAaG;IRimIP;IQ1hIA;MApFI,yBAaG;IRomIP;IQ7hIA;MApFI,uBAaG;IRumIP;IQhiIA;MApFI,qBAaG;IR0mIP;IQniIA;MApFI,4BAaG;IR6mIP;IQtiIA;MApFI,2BAaG;IRgnIP;IQziIA;MApFI,sBAaG;IRmnIP;IQ5iIA;MApFI,gBAaG;IRsnIP;IQ/iIA;MApFI,sBAaG;IRynIP;IQljIA;MApFI,oBAaG;IR4nIP;IQrjIA;MApFI,kBAaG;IR+nIP;IQxjIA;MApFI,oBAaG;IRkoIP;IQ3jIA;MApFI,mBAaG;IRqoIP;IQ9jIA;MApFI,kBAaG;IRwoIP;IQjkIA;MApFI,gBAaG;IR2oIP;IQpkIA;MApFI,mBAaG;IR8oIP;IQvkIA;MApFI,oBAaG;IRipIP;IQ1kIA;MApFI,SAaG;IRopIP;IQ7kIA;MApFI,QAaG;IRupIP;IQhlIA;MApFI,QAaG;IR0pIP;IQnlIA;MApFI,QAaG;IR6pIP;IQtlIA;MApFI,QAaG;IRgqIP;IQzlIA;MApFI,QAaG;IRmqIP;IQ5lIA;MApFI,QAaG;IRsqIP;IQ/lIA;MApFI,QAaG;IRyqIP;IQlmIA;MApFI,SAaG;IR4qIP;IQrmIA;MApFI,eAaG;IR+qIP;IQxmIA;MApFI,cAaG;IRkrIP;IQ3mIA;MApFI,YAaG;IRqrIP;IQ9mIA;MApFI,cAaG;IRwrIP;IQjnIA;MApFI,YAaG;IR2rIP;IQpnIA;MApFI,YAaG;IR8rIP;IQvnIA;MApFI,gBAaG;IRisIP;IQ1nIA;MApFI,sBAaG;IRosIP;IQ7nIA;MApFI,qBAaG;IRusIP;IQhoIA;MApFI,mBAaG;IR0sIP;IQnoIA;MApFI,qBAaG;IR6sIP;IQtoIA;MApFI,mBAaG;IRgtIP;IQzoIA;MApFI,mBAaG;IRmtIP;IQ5oIA;MApFI,eAaG;IRstIP;IQ/oIA;MApFI,qBAaG;IRytIP;IQlpIA;MApFI,oBAaG;IR4tIP;IQrpIA;MApFI,kBAaG;IR+tIP;IQxpIA;MApFI,oBAaG;IRkuIP;IQ3pIA;MApFI,kBAaG;IRquIP;IQ9pIA;MApFI,kBAaG;IRwuIP;IQjqIA;MApFI,qBAaG;IR2uIP;IQpqIA;MApFI,2BAaG;IR8uIP;IQvqIA;MApFI,0BAaG;IRivIP;IQ1qIA;MApFI,wBAaG;IRovIP;IQ7qIA;MApFI,0BAaG;IRuvIP;IQhrIA;MApFI,wBAaG;IR0vIP;IQnrIA;MApFI,wBAaG;IR6vIP;IQtrIA;MApFI,oBAaG;IRgwIP;IQzrIA;MApFI,0BAaG;IRmwIP;IQ5rIA;MApFI,yBAaG;IRswIP;IQ/rIA;MApFI,uBAaG;IRywIP;IQlsIA;MApFI,yBAaG;IR4wIP;IQrsIA;MApFI,uBAaG;IR+wIP;IQxsIA;MApFI,uBAaG;IRkxIP;IQ3sIA;MApFI,mBAaG;IRqxIP;IQ9sIA;MApFI,yBAaG;IRwxIP;IQjtIA;MApFI,wBAaG;IR2xIP;IQptIA;MApFI,sBAaG;IR8xIP;IQvtIA;MApFI,wBAaG;IRiyIP;IQ1tIA;MApFI,sBAaG;IRoyIP;IQ7tIA;MApFI,sBAaG;IRuyIP;IQhuIA;MApFI,sBAaG;IR0yIP;IQnuIA;MApFI,4BAaG;IR6yIP;IQtuIA;MApFI,2BAaG;IRgzIP;IQzuIA;MApFI,yBAaG;IRmzIP;IQ5uIA;MApFI,2BAaG;IRszIP;IQ/uIA;MApFI,yBAaG;IRyzIP;IQlvIA;MApFI,yBAaG;IR4zIP;IQrvIA;MApFI,UAaG;IR+zIP;IQxvIA;MApFI,gBAaG;IRk0IP;IQ3vIA;MApFI,eAaG;IRq0IP;IQ9vIA;MApFI,aAaG;IRw0IP;IQjwIA;MApFI,eAaG;IR20IP;IQpwIA;MApFI,aAaG;IR80IP;IQvwIA;MApFI,iBAaG;IRi1IP;IQ1wIA;MApFI,uBAaG;IRo1IP;IQ7wIA;MApFI,sBAaG;IRu1IP;IQhxIA;MApFI,oBAaG;IR01IP;IQnxIA;MApFI,sBAaG;IR61IP;IQtxIA;MApFI,oBAaG;IRg2IP;IQzxIA;MApFI,gBAaG;IRm2IP;IQ5xIA;MApFI,sBAaG;IRs2IP;IQ/xIA;MApFI,qBAaG;IRy2IP;IQlyIA;MApFI,mBAaG;IR42IP;IQryIA;MApFI,qBAaG;IR+2IP;IQxyIA;MApFI,mBAaG;IRk3IP;IQ3yIA;MApFI,sBAaG;IRq3IP;IQ9yIA;MApFI,4BAaG;IRw3IP;IQjzIA;MApFI,2BAaG;IR23IP;IQpzIA;MApFI,yBAaG;IR83IP;IQvzIA;MApFI,2BAaG;IRi4IP;IQ1zIA;MApFI,yBAaG;IRo4IP;IQ7zIA;MApFI,qBAaG;IRu4IP;IQh0IA;MApFI,2BAaG;IR04IP;IQn0IA;MApFI,0BAaG;IR64IP;IQt0IA;MApFI,wBAaG;IRg5IP;IQz0IA;MApFI,0BAaG;IRm5IP;IQ50IA;MApFI,wBAaG;IRs5IP;IQ/0IA;MApFI,oBAaG;IRy5IP;IQl1IA;MApFI,0BAaG;IR45IP;IQr1IA;MApFI,yBAaG;IR+5IP;IQx1IA;MApFI,uBAaG;IRk6IP;IQ31IA;MApFI,yBAaG;IRq6IP;IQ91IA;MApFI,uBAaG;IRw6IP;IQj2IA;MApFI,uBAaG;IR26IP;IQp2IA;MApFI,6BAaG;IR86IP;IQv2IA;MApFI,4BAaG;IRi7IP;IQ12IA;MApFI,0BAaG;IRo7IP;IQ72IA;MApFI,4BAaG;IRu7IP;IQh3IA;MApFI,0BAaG;IR07IP;EACF;AACF","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$prefix: bs- !default;\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// 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: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --#{$prefix}gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--#{$prefix}gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --#{$prefix}columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --#{$prefix}columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --#{$prefix}columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-top: calc(-1 * var(--#{$prefix}gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  margin-inline-start: if($num == 0, 0, math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-grid.css","../../scss/_theme.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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N4vCV;EM7vCQ;IACE,wBAAA;EN+vCV;EMhwCQ;IACE,yBAAA;ENkwCV;EMnwCQ;IACE,yBAAA;ENqwCV;EMtwCQ;IACE,yBAAA;ENwwCV;EMjwCQ;IACE,oBAFS;ENqwCnB;EMpwCQ;IACE,oBAFS;ENwwCnB;EMvwCQ;IACE,oBAFS;EN2wCnB;EM1wCQ;IACE,oBAFS;EN8wCnB;EM7wCQ;IACE,oBAFS;ENixCnB;EMhxCQ;IACE,oBAFS;ENoxCnB;EMnxCQ;IACE,oBAFS;ENuxCnB;EMtxCQ;IACE,oBAFS;EN0xCnB;EMzxCQ;IACE,oBAFS;EN6xCnB;EM5xCQ;IACE,qBAFS;ENgyCnB;EM/xCQ;IACE,qBAFS;ENmyCnB;EG92CE;IGoEM;MACE,wBAAA;IN6yCR;IM9yCM;MACE,wBAAA;INgzCR;IMjzCM;MACE,wBAAA;INmzCR;IMpzCM;MACE,wBAAA;INszCR;IMvzCM;MACE,wBAAA;INyzCR;IM1zCM;MACE,wBAAA;IN4zCR;IM7zCM;MACE,wBAAA;IN+zCR;IMh0CM;MACE,wBAAA;INk0CR;IMn0CM;MACE,wBAAA;INq0CR;IMt0CM;MACE,yBAAA;INw0CR;IMz0CM;MACE,yBAAA;IN20CR;IM50CM;MACE,yBAAA;IN80CR;IMv0CM;MACE,oBAFS;IN20CjB;IM10CM;MACE,oBAFS;IN80CjB;IM70CM;MACE,oBAFS;INi1CjB;IMh1CM;MACE,oBAFS;INo1CjB;IMn1CM;MACE,oBAFS;INu1CjB;IMt1CM;MACE,oBAFS;IN01CjB;IMz1CM;MACE,oBAFS;IN61CjB;IM51CM;MACE,oBAFS;INg2CjB;IM/1CM;MACE,oBAFS;INm2CjB;IMl2CM;MACE,qBAFS;INs2CjB;IMr2CM;MACE,qBAFS;INy2CjB;EACF;EGr7CE;IGoEM;MACE,wBAAA;INo3CR;IMr3CM;MACE,wBAAA;INu3CR;IMx3CM;MACE,wBAAA;IN03CR;IM33CM;MACE,wBAAA;IN63CR;IM93CM;MACE,wBAAA;INg4CR;IMj4CM;MACE,wBAAA;INm4CR;IMp4CM;MACE,wBAAA;INs4CR;IMv4CM;MACE,wBAAA;INy4CR;IM14CM;MACE,wBAAA;IN44CR;IM74CM;MACE,yBAAA;IN+4CR;IMh5CM;MACE,yBAAA;INk5CR;IMn5CM;MACE,yBAAA;INq5CR;IM94CM;MACE,oBAFS;INk5CjB;IMj5CM;MACE,oBAFS;INq5CjB;IMp5CM;MACE,oBAFS;INw5CjB;IMv5CM;MACE,oBAFS;IN25CjB;IM15CM;MACE,oBAFS;IN85CjB;IM75CM;MACE,oBAFS;INi6CjB;IMh6CM;MACE,oBAFS;INo6CjB;IMn6CM;MACE,oBAFS;INu6CjB;IMt6CM;MACE,oBAFS;IN06CjB;IMz6CM;MACE,qBAFS;IN66CjB;IM56CM;MACE,qBAFS;INg7CjB;EACF;EG5/CE;IGoEM;MACE,wBAAA;IN27CR;IM57CM;MACE,wBAAA;IN87CR;IM/7CM;MACE,wBAAA;INi8CR;IMl8CM;MACE,wBAAA;INo8CR;IMr8CM;MACE,wBAAA;INu8CR;IMx8CM;MACE,wBAAA;IN08CR;IM38CM;MACE,wBAAA;IN68CR;IM98CM;MACE,wBAAA;INg9CR;IMj9CM;MACE,wBAAA;INm9CR;IMp9CM;MACE,yBAAA;INs9CR;IMv9CM;MACE,yBAAA;INy9CR;IM19CM;MACE,yBAAA;IN49CR;IMr9CM;MACE,oBAFS;INy9CjB;IMx9CM;MACE,oBAFS;IN49CjB;IM39CM;MACE,oBAFS;IN+9CjB;IM99CM;MACE,oBAFS;INk+CjB;IMj+CM;MACE,oBAFS;INq+CjB;IMp+CM;MACE,oBAFS;INw+CjB;IMv+CM;MACE,oBAFS;IN2+CjB;IM1+CM;MACE,oBAFS;IN8+CjB;IM7+CM;MACE,oBAFS;INi/CjB;IMh/CM;MACE,qBAFS;INo/CjB;IMn/CM;MACE,qBAFS;INu/CjB;EACF;EGnkDE;IGoEM;MACE,wBAAA;INkgDR;IMngDM;MACE,wBAAA;INqgDR;IMtgDM;MACE,wBAAA;INwgDR;IMzgDM;MACE,wBAAA;IN2gDR;IM5gDM;MACE,wBAAA;IN8gDR;IM/gDM;MACE,wBAAA;INihDR;IMlhDM;MACE,wBAAA;INohDR;IMrhDM;MACE,wBAAA;INuhDR;IMxhDM;MACE,wBAAA;IN0hDR;IM3hDM;MACE,yBAAA;IN6hDR;IM9hDM;MACE,yBAAA;INgiDR;IMjiDM;MACE,yBAAA;INmiDR;IM5hDM;MACE,oBAFS;INgiDjB;IM/hDM;MACE,oBAFS;INmiDjB;IMliDM;MACE,oBAFS;INsiDjB;IMriDM;MACE,oBAFS;INyiDjB;IMxiDM;MACE,oBAFS;IN4iDjB;IM3iDM;MACE,oBAFS;IN+iDjB;IM9iDM;MACE,oBAFS;INkjDjB;IMjjDM;MACE,oBAFS;INqjDjB;IMpjDM;MACE,oBAFS;INwjDjB;IMvjDM;MACE,qBAFS;IN2jDjB;IM1jDM;MACE,qBAFS;IN8jDjB;EACF;EG1oDE;IGoEM;MACE,wBAAA;INykDR;IM1kDM;MACE,wBAAA;IN4kDR;IM7kDM;MACE,wBAAA;IN+kDR;IMhlDM;MACE,wBAAA;INklDR;IMnlDM;MACE,wBAAA;INqlDR;IMtlDM;MACE,wBAAA;INwlDR;IMzlDM;MACE,wBAAA;IN2lDR;IM5lDM;MACE,wBAAA;IN8lDR;IM/lDM;MACE,wBAAA;INimDR;IMlmDM;MACE,yBAAA;INomDR;IMrmDM;MACE,yBAAA;INumDR;IMxmDM;MACE,yBAAA;IN0mDR;IMnmDM;MACE,oBAFS;INumDjB;IMtmDM;MACE,oBAFS;IN0mDjB;IMzmDM;MACE,oBAFS;IN6mDjB;IM5mDM;MACE,oBAFS;INgnDjB;IM/mDM;MACE,oBAFS;INmnDjB;IMlnDM;MACE,oBAFS;INsnDjB;IMrnDM;MACE,oBAFS;INynDjB;IMxnDM;MACE,oBAFS;IN4nDjB;IM3nDM;MACE,oBAFS;IN+nDjB;IM9nDM;MACE,qBAFS;INkoDjB;IMjoDM;MACE,qBAFS;INqoDjB;EACF;EK9uDA;IACE,8BAAA;ELgvDF;EK7uDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EL8uDF;AACF;AO7xDA;ECgLI;IA1GI,eAqBO;ERssDb;EQjnDE;IA1GI,qBAqBO;ERysDb;EQpnDE;IA1GI,cAqBO;ER4sDb;EQvnDE;IA1GI,aAqBO;ER+sDb;EQ1nDE;IA1GI,oBAqBO;ERktDb;EQ7nDE;IA1GI,cAqBO;ERqtDb;EQhoDE;IA1GI,kBAqBO;ERwtDb;EQnoDE;IA1GI,mBAqBO;ER2tDb;EQtoDE;IA1GI,aAqBO;ER8tDb;EQzoDE;IA1GI,oBAqBO;ERiuDb;EQ5oDE;IA1GI,iBAqBO;ERouDb;EQ/oDE;IA1GI,kBAqBO;ERuuDb;EQlpDE;IA1GI,aAqBO;ER0uDb;EQrpDE;IA1GI,cAgBG;ERkvDT;EQxpDE;IA1GI,mBAqBO;ERgvDb;EQ3pDE;IA1GI,sBAqBO;ERmvDb;EQ9pDE;IA1GI,2BAqBO;ERsvDb;EQjqDE;IA1GI,8BAqBO;ERyvDb;EQpqDE;IA1GI,YAgBG;ERiwDT;EQvqDE;IA1GI,YAgBG;ERowDT;EQ1qDE;IA1GI,cAgBG;ERuwDT;EQ7qDE;IA1GI,cAgBG;ER0wDT;EQhrDE;IA1GI,eAqBO;ERwwDb;EQnrDE;IA1GI,iBAqBO;ER2wDb;EQtrDE;IA1GI,uBAqBO;ER8wDb;EQzrDE;IA1GI,2BAgBG;ERsxDT;EQ5rDE;IA1GI,yBAgBG;ERyxDT;EQ/rDE;IA1GI,uBAgBG;ER4xDT;EQlsDE;IA1GI,8BAgBG;ER+xDT;EQrsDE;IA1GI,6BAgBG;ERkyDT;EQxsDE;IA1GI,6BAgBG;ERqyDT;EQ3sDE;IA1GI,oBAgBG;ERwyDT;EQ9sDE;IA1GI,kBAgBG;ER2yDT;EQjtDE;IA1GI,qBAgBG;ER8yDT;EQptDE;IA1GI,sBAgBG;ERizDT;EQvtDE;IA1GI,uBAgBG;ERozDT;EQ1tDE;IA1GI,qBAgBG;ERuzDT;EQ7tDE;IA1GI,mBAgBG;ER0zDT;EQhuDE;IA1GI,qBAgBG;ER6zDT;EQnuDE;IA1GI,oBAgBG;ERg0DT;EQtuDE;IA1GI,yBAgBG;ERm0DT;EQzuDE;IA1GI,uBAgBG;ERs0DT;EQ5uDE;IA1GI,qBAgBG;ERy0DT;EQ/uDE;IA1GI,4BAgBG;ER40DT;EQlvDE;IA1GI,2BAgBG;ER+0DT;EQrvDE;IA1GI,sBAgBG;ERk1DT;EQxvDE;IA1GI,gBAgBG;ERq1DT;EQ3vDE;IA1GI,sBAgBG;ERw1DT;EQ9vDE;IA1GI,oBAgBG;ER21DT;EQjwDE;IA1GI,kBAgBG;ER81DT;EQpwDE;IA1GI,oBAgBG;ERi2DT;EQvwDE;IA1GI,mBAgBG;ERo2DT;EQ1wDE;IA1GI,kBAgBG;ERu2DT;EQ7wDE;IA1GI,gBAgBG;ER02DT;EQhxDE;IA1GI,mBAgBG;ER62DT;EQnxDE;IA1GI,oBAgBG;ERg3DT;EQtxDE;IA1GI,SAgBG;ERm3DT;EQzxDE;IA1GI,QAgBG;ERs3DT;EQ5xDE;IA1GI,QAgBG;ERy3DT;EQ/xDE;IA1GI,QAgBG;ER43DT;EQlyDE;IA1GI,QAgBG;ER+3DT;EQryDE;IA1GI,QAgBG;ERk4DT;EQxyDE;IA1GI,QAgBG;ERq4DT;EQ3yDE;IA1GI,QAgBG;ERw4DT;EQ9yDE;IA1GI,SAgBG;ER24DT;EQjzDE;IA1GI,eAgBG;ER84DT;EQpzDE;IA1GI,cAgBG;ERi5DT;EQvzDE;IA1GI,YAgBG;ERo5DT;EQ1zDE;IA1GI,cAgBG;ERu5DT;EQ7zDE;IA1GI,YAgBG;ER05DT;EQh0DE;IA1GI,YAgBG;ER65DT;EQn0DE;IA1GI,gBAgBG;ERg6DT;EQt0DE;IA1GI,sBAgBG;ERm6DT;EQz0DE;IA1GI,qBAgBG;ERs6DT;EQ50DE;IA1GI,mBAgBG;ERy6DT;EQ/0DE;IA1GI,qBAgBG;ER46DT;EQl1DE;IA1GI,mBAgBG;ER+6DT;EQr1DE;IA1GI,mBAgBG;ERk7DT;EQx1DE;IA1GI,eAgBG;ERq7DT;EQ31DE;IA1GI,qBAgBG;ERw7DT;EQ91DE;IA1GI,oBAgBG;ER27DT;EQj2DE;IA1GI,kBAgBG;ER87DT;EQp2DE;IA1GI,oBAgBG;ERi8DT;EQv2DE;IA1GI,kBAgBG;ERo8DT;EQ12DE;IA1GI,kBAgBG;ERu8DT;EQ72DE;IA1GI,qBAgBG;ER08DT;EQh3DE;IA1GI,2BAgBG;ER68DT;EQn3DE;IA1GI,0BAgBG;ERg9DT;EQt3DE;IA1GI,wBAgBG;ERm9DT;EQz3DE;IA1GI,0BAgBG;ERs9DT;EQ53DE;IA1GI,wBAgBG;ERy9DT;EQ/3DE;IA1GI,wBAgBG;ER49DT;EQl4DE;IA1GI,oBAgBG;ER+9DT;EQr4DE;IA1GI,0BAgBG;ERk+DT;EQx4DE;IA1GI,yBAgBG;ERq+DT;EQ34DE;IA1GI,uBAgBG;ERw+DT;EQ94DE;IA1GI,yBAgBG;ER2+DT;EQj5DE;IA1GI,uBAgBG;ER8+DT;EQp5DE;IA1GI,uBAgBG;ERi/DT;EQv5DE;IA1GI,mBAgBG;ERo/DT;EQ15DE;IA1GI,yBAgBG;ERu/DT;EQ75DE;IA1GI,wBAgBG;ER0/DT;EQh6DE;IA1GI,sBAgBG;ER6/DT;EQn6DE;IA1GI,wBAgBG;ERggET;EQt6DE;IA1GI,sBAgBG;ERmgET;EQz6DE;IA1GI,sBAgBG;ERsgET;EQ56DE;IA1GI,sBAgBG;ERygET;EQ/6DE;IA1GI,4BAgBG;ER4gET;EQl7DE;IA1GI,2BAgBG;ER+gET;EQr7DE;IA1GI,yBAgBG;ERkhET;EQx7DE;IA1GI,2BAgBG;ERqhET;EQ37DE;IA1GI,yBAgBG;ERwhET;EQ97DE;IA1GI,yBAgBG;ER2hET;EQj8DE;IA1GI,UAgBG;ER8hET;EQp8DE;IA1GI,gBAgBG;ERiiET;EQv8DE;IA1GI,eAgBG;ERoiET;EQ18DE;IA1GI,aAgBG;ERuiET;EQ78DE;IA1GI,eAgBG;ER0iET;EQh9DE;IA1GI,aAgBG;ER6iET;EQn9DE;IA1GI,iBAgBG;ERgjET;EQt9DE;IA1GI,uBAgBG;ERmjET;EQz9DE;IA1GI,sBAgBG;ERsjET;EQ59DE;IA1GI,oBAgBG;ERyjET;EQ/9DE;IA1GI,sBAgBG;ER4jET;EQl+DE;IA1GI,oBAgBG;ER+jET;EQr+DE;IA1GI,gBAgBG;ERkkET;EQx+DE;IA1GI,sBAgBG;ERqkET;EQ3+DE;IA1GI,qBAgBG;ERwkET;EQ9+DE;IA1GI,mBAgBG;ER2kET;EQj/DE;IA1GI,qBAgBG;ER8kET;EQp/DE;IA1GI,mBAgBG;ERilET;EQv/DE;IA1GI,sBAgBG;ERolET;EQ1/DE;IA1GI,4BAgBG;ERulET;EQ7/DE;IA1GI,2BAgBG;ER0lET;EQhgEE;IA1GI,yBAgBG;ER6lET;EQngEE;IA1GI,2BAgBG;ERgmET;EQtgEE;IA1GI,yBAgBG;ERmmET;EQzgEE;IA1GI,qBAgBG;ERsmET;EQ5gEE;IA1GI,2BAgBG;ERymET;EQ/gEE;IA1GI,0BAgBG;ER4mET;EQlhEE;IA1GI,wBAgBG;ER+mET;EQrhEE;IA1GI,0BAgBG;ERknET;EQxhEE;IA1GI,wBAgBG;ERqnET;EQ3hEE;IA1GI,oBAgBG;ERwnET;EQ9hEE;IA1GI,0BAgBG;ER2nET;EQjiEE;IA1GI,yBAgBG;ER8nET;EQpiEE;IA1GI,uBAgBG;ERioET;EQviEE;IA1GI,yBAgBG;ERooET;EQ1iEE;IA1GI,uBAgBG;ERuoET;EQ7iEE;IA1GI,uBAgBG;ER0oET;EQhjEE;IA1GI,6BAgBG;ER6oET;EQnjEE;IA1GI,4BAgBG;ERgpET;EQtjEE;IA1GI,0BAgBG;ERmpET;EQzjEE;IA1GI,4BAgBG;ERspET;EQ5jEE;IA1GI,0BAgBG;ERypET;EG9qEE;IK+GA;MA1GI,eAqBO;IRwpEX;IQnkEA;MA1GI,qBAqBO;IR2pEX;IQtkEA;MA1GI,cAqBO;IR8pEX;IQzkEA;MA1GI,aAqBO;IRiqEX;IQ5kEA;MA1GI,oBAqBO;IRoqEX;IQ/kEA;MA1GI,cAqBO;IRuqEX;IQllEA;MA1GI,kBAqBO;IR0qEX;IQrlEA;MA1GI,mBAqBO;IR6qEX;IQxlEA;MA1GI,aAqBO;IRgrEX;IQ3lEA;MA1GI,oBAqBO;IRmrEX;IQ9lEA;MA1GI,iBAqBO;IRsrEX;IQjmEA;MA1GI,kBAqBO;IRyrEX;IQpmEA;MA1GI,aAqBO;IR4rEX;IQvmEA;MA1GI,cAgBG;IRosEP;IQ1mEA;MA1GI,mBAqBO;IRksEX;IQ7mEA;MA1GI,sBAqBO;IRqsEX;IQhnEA;MA1GI,2BAqBO;IRwsEX;IQnnEA;MA1GI,8BAqBO;IR2sEX;IQtnEA;MA1GI,YAgBG;IRmtEP;IQznEA;MA1GI,YAgBG;IRstEP;IQ5nEA;MA1GI,cAgBG;IRytEP;IQ/nEA;MA1GI,cAgBG;IR4tEP;IQloEA;MA1GI,eAqBO;IR0tEX;IQroEA;MA1GI,iBAqBO;IR6tEX;IQxoEA;MA1GI,uBAqBO;IRguEX;IQ3oEA;MA1GI,2BAgBG;IRwuEP;IQ9oEA;MA1GI,yBAgBG;IR2uEP;IQjpEA;MA1GI,uBAgBG;IR8uEP;IQppEA;MA1GI,8BAgBG;IRivEP;IQvpEA;MA1GI,6BAgBG;IRovEP;IQ1pEA;MA1GI,6BAgBG;IRuvEP;IQ7pEA;MA1GI,oBAgBG;IR0vEP;IQhqEA;MA1GI,kBAgBG;IR6vEP;IQnqEA;MA1GI,qBAgBG;IRgwEP;IQtqEA;MA1GI,sBAgBG;IRmwEP;IQzqEA;MA1GI,uBAgBG;IRswEP;IQ5qEA;MA1GI,qBAgBG;IRywEP;IQ/qEA;MA1GI,mBAgBG;IR4wEP;IQlrEA;MA1GI,qBAgBG;IR+wEP;IQrrEA;MA1GI,oBAgBG;IRkxEP;IQxrEA;MA1GI,yBAgBG;IRqxEP;IQ3rEA;MA1GI,uBAgBG;IRwxEP;IQ9rEA;MA1GI,qBAgBG;IR2xEP;IQjsEA;MA1GI,4BAgBG;IR8xEP;IQpsEA;MA1GI,2BAgBG;IRiyEP;IQvsEA;MA1GI,sBAgBG;IRoyEP;IQ1sEA;MA1GI,gBAgBG;IRuyEP;IQ7sEA;MA1GI,sBAgBG;IR0yEP;IQhtEA;MA1GI,oBAgBG;IR6yEP;IQntEA;MA1GI,kBAgBG;IRgzEP;IQttEA;MA1GI,oBAgBG;IRmzEP;IQztEA;MA1GI,mBAgBG;IRszEP;IQ5tEA;MA1GI,kBAgBG;IRyzEP;IQ/tEA;MA1GI,gBAgBG;IR4zEP;IQluEA;MA1GI,mBAgBG;IR+zEP;IQruEA;MA1GI,oBAgBG;IRk0EP;IQxuEA;MA1GI,SAgBG;IRq0EP;IQ3uEA;MA1GI,QAgBG;IRw0EP;IQ9uEA;MA1GI,QAgBG;IR20EP;IQjvEA;MA1GI,QAgBG;IR80EP;IQpvEA;MA1GI,QAgBG;IRi1EP;IQvvEA;MA1GI,QAgBG;IRo1EP;IQ1vEA;MA1GI,QAgBG;IRu1EP;IQ7vEA;MA1GI,QAgBG;IR01EP;IQhwEA;MA1GI,SAgBG;IR61EP;IQnwEA;MA1GI,eAgBG;IRg2EP;IQtwEA;MA1GI,cAgBG;IRm2EP;IQzwEA;MA1GI,YAgBG;IRs2EP;IQ5wEA;MA1GI,cAgBG;IRy2EP;IQ/wEA;MA1GI,YAgBG;IR42EP;IQlxEA;MA1GI,YAgBG;IR+2EP;IQrxEA;MA1GI,gBAgBG;IRk3EP;IQxxEA;MA1GI,sBAgBG;IRq3EP;IQ3xEA;MA1GI,qBAgBG;IRw3EP;IQ9xEA;MA1GI,mBAgBG;IR23EP;IQjyEA;MA1GI,qBAgBG;IR83EP;IQpyEA;MA1GI,mBAgBG;IRi4EP;IQvyEA;MA1GI,mBAgBG;IRo4EP;IQ1yEA;MA1GI,eAgBG;IRu4EP;IQ7yEA;MA1GI,qBAgBG;IR04EP;IQhzEA;MA1GI,oBAgBG;IR64EP;IQnzEA;MA1GI,kBAgBG;IRg5EP;IQtzEA;MA1GI,oBAgBG;IRm5EP;IQzzEA;MA1GI,kBAgBG;IRs5EP;IQ5zEA;MA1GI,kBAgBG;IRy5EP;IQ/zEA;MA1GI,qBAgBG;IR45EP;IQl0EA;MA1GI,2BAgBG;IR+5EP;IQr0EA;MA1GI,0BAgBG;IRk6EP;IQx0EA;MA1GI,wBAgBG;IRq6EP;IQ30EA;MA1GI,0BAgBG;IRw6EP;IQ90EA;MA1GI,wBAgBG;IR26EP;IQj1EA;MA1GI,wBAgBG;IR86EP;IQp1EA;MA1GI,oBAgBG;IRi7EP;IQv1EA;MA1GI,0BAgBG;IRo7EP;IQ11EA;MA1GI,yBAgBG;IRu7EP;IQ71EA;MA1GI,uBAgBG;IR07EP;IQh2EA;MA1GI,yBAgBG;IR67EP;IQn2EA;MA1GI,uBAgBG;IRg8EP;IQt2EA;MA1GI,uBAgBG;IRm8EP;IQz2EA;MA1GI,mBAgBG;IRs8EP;IQ52EA;MA1GI,yBAgBG;IRy8EP;IQ/2EA;MA1GI,wBAgBG;IR48EP;IQl3EA;MA1GI,sBAgBG;IR+8EP;IQr3EA;MA1GI,wBAgBG;IRk9EP;IQx3EA;MA1GI,sBAgBG;IRq9EP;IQ33EA;MA1GI,sBAgBG;IRw9EP;IQ93EA;MA1GI,sBAgBG;IR29EP;IQj4EA;MA1GI,4BAgBG;IR89EP;IQp4EA;MA1GI,2BAgBG;IRi+EP;IQv4EA;MA1GI,yBAgBG;IRo+EP;IQ14EA;MA1GI,2BAgBG;IRu+EP;IQ74EA;MA1GI,yBAgBG;IR0+EP;IQh5EA;MA1GI,yBAgBG;IR6+EP;IQn5EA;MA1GI,UAgBG;IRg/EP;IQt5EA;MA1GI,gBAgBG;IRm/EP;IQz5EA;MA1GI,eAgBG;IRs/EP;IQ55EA;MA1GI,aAgBG;IRy/EP;IQ/5EA;MA1GI,eAgBG;IR4/EP;IQl6EA;MA1GI,aAgBG;IR+/EP;IQr6EA;MA1GI,iBAgBG;IRkgFP;IQx6EA;MA1GI,uBAgBG;IRqgFP;IQ36EA;MA1GI,sBAgBG;IRwgFP;IQ96EA;MA1GI,oBAgBG;IR2gFP;IQj7EA;MA1GI,sBAgBG;IR8gFP;IQp7EA;MA1GI,oBAgBG;IRihFP;IQv7EA;MA1GI,gBAgBG;IRohFP;IQ17EA;MA1GI,sBAgBG;IRuhFP;IQ77EA;MA1GI,qBAgBG;IR0hFP;IQh8EA;MA1GI,mBAgBG;IR6hFP;IQn8EA;MA1GI,qBAgBG;IRgiFP;IQt8EA;MA1GI,mBAgBG;IRmiFP;IQz8EA;MA1GI,sBAgBG;IRsiFP;IQ58EA;MA1GI,4BAgBG;IRyiFP;IQ/8EA;MA1GI,2BAgBG;IR4iFP;IQl9EA;MA1GI,yBAgBG;IR+iFP;IQr9EA;MA1GI,2BAgBG;IRkjFP;IQx9EA;MA1GI,yBAgBG;IRqjFP;IQ39EA;MA1GI,qBAgBG;IRwjFP;IQ99EA;MA1GI,2BAgBG;IR2jFP;IQj+EA;MA1GI,0BAgBG;IR8jFP;IQp+EA;MA1GI,wBAgBG;IRikFP;IQv+EA;MA1GI,0BAgBG;IRokFP;IQ1+EA;MA1GI,wBAgBG;IRukFP;IQ7+EA;MA1GI,oBAgBG;IR0kFP;IQh/EA;MA1GI,0BAgBG;IR6kFP;IQn/EA;MA1GI,yBAgBG;IRglFP;IQt/EA;MA1GI,uBAgBG;IRmlFP;IQz/EA;MA1GI,yBAgBG;IRslFP;IQ5/EA;MA1GI,uBAgBG;IRylFP;IQ//EA;MA1GI,uBAgBG;IR4lFP;IQlgFA;MA1GI,6BAgBG;IR+lFP;IQrgFA;MA1GI,4BAgBG;IRkmFP;IQxgFA;MA1GI,0BAgBG;IRqmFP;IQ3gFA;MA1GI,4BAgBG;IRwmFP;IQ9gFA;MA1GI,0BAgBG;IR2mFP;EACF;EGjoFE;IK+GA;MA1GI,eAqBO;IR2mFX;IQthFA;MA1GI,qBAqBO;IR8mFX;IQzhFA;MA1GI,cAqBO;IRinFX;IQ5hFA;MA1GI,aAqBO;IRonFX;IQ/hFA;MA1GI,oBAqBO;IRunFX;IQliFA;MA1GI,cAqBO;IR0nFX;IQriFA;MA1GI,kBAqBO;IR6nFX;IQxiFA;MA1GI,mBAqBO;IRgoFX;IQ3iFA;MA1GI,aAqBO;IRmoFX;IQ9iFA;MA1GI,oBAqBO;IRsoFX;IQjjFA;MA1GI,iBAqBO;IRyoFX;IQpjFA;MA1GI,kBAqBO;IR4oFX;IQvjFA;MA1GI,aAqBO;IR+oFX;IQ1jFA;MA1GI,cAgBG;IRupFP;IQ7jFA;MA1GI,mBAqBO;IRqpFX;IQhkFA;MA1GI,sBAqBO;IRwpFX;IQnkFA;MA1GI,2BAqBO;IR2pFX;IQtkFA;MA1GI,8BAqBO;IR8pFX;IQzkFA;MA1GI,YAgBG;IRsqFP;IQ5kFA;MA1GI,YAgBG;IRyqFP;IQ/kFA;MA1GI,cAgBG;IR4qFP;IQllFA;MA1GI,cAgBG;IR+qFP;IQrlFA;MA1GI,eAqBO;IR6qFX;IQxlFA;MA1GI,iBAqBO;IRgrFX;IQ3lFA;MA1GI,uBAqBO;IRmrFX;IQ9lFA;MA1GI,2BAgBG;IR2rFP;IQjmFA;MA1GI,yBAgBG;IR8rFP;IQpmFA;MA1GI,uBAgBG;IRisFP;IQvmFA;MA1GI,8BAgBG;IRosFP;IQ1mFA;MA1GI,6BAgBG;IRusFP;IQ7mFA;MA1GI,6BAgBG;IR0sFP;IQhnFA;MA1GI,oBAgBG;IR6sFP;IQnnFA;MA1GI,kBAgBG;IRgtFP;IQtnFA;MA1GI,qBAgBG;IRmtFP;IQznFA;MA1GI,sBAgBG;IRstFP;IQ5nFA;MA1GI,uBAgBG;IRytFP;IQ/nFA;MA1GI,qBAgBG;IR4tFP;IQloFA;MA1GI,mBAgBG;IR+tFP;IQroFA;MA1GI,qBAgBG;IRkuFP;IQxoFA;MA1GI,oBAgBG;IRquFP;IQ3oFA;MA1GI,yBAgBG;IRwuFP;IQ9oFA;MA1GI,uBAgBG;IR2uFP;IQjpFA;MA1GI,qBAgBG;IR8uFP;IQppFA;MA1GI,4BAgBG;IRivFP;IQvpFA;MA1GI,2BAgBG;IRovFP;IQ1pFA;MA1GI,sBAgBG;IRuvFP;IQ7pFA;MA1GI,gBAgBG;IR0vFP;IQhqFA;MA1GI,sBAgBG;IR6vFP;IQnqFA;MA1GI,oBAgBG;IRgwFP;IQtqFA;MA1GI,kBAgBG;IRmwFP;IQzqFA;MA1GI,oBAgBG;IRswFP;IQ5qFA;MA1GI,mBAgBG;IRywFP;IQ/qFA;MA1GI,kBAgBG;IR4wFP;IQlrFA;MA1GI,gBAgBG;IR+wFP;IQrrFA;MA1GI,mBAgBG;IRkxFP;IQxrFA;MA1GI,oBAgBG;IRqxFP;IQ3rFA;MA1GI,SAgBG;IRwxFP;IQ9rFA;MA1GI,QAgBG;IR2xFP;IQjsFA;MA1GI,QAgBG;IR8xFP;IQpsFA;MA1GI,QAgBG;IRiyFP;IQvsFA;MA1GI,QAgBG;IRoyFP;IQ1sFA;MA1GI,QAgBG;IRuyFP;IQ7sFA;MA1GI,QAgBG;IR0yFP;IQhtFA;MA1GI,QAgBG;IR6yFP;IQntFA;MA1GI,SAgBG;IRgzFP;IQttFA;MA1GI,eAgBG;IRmzFP;IQztFA;MA1GI,cAgBG;IRszFP;IQ5tFA;MA1GI,YAgBG;IRyzFP;IQ/tFA;MA1GI,cAgBG;IR4zFP;IQluFA;MA1GI,YAgBG;IR+zFP;IQruFA;MA1GI,YAgBG;IRk0FP;IQxuFA;MA1GI,gBAgBG;IRq0FP;IQ3uFA;MA1GI,sBAgBG;IRw0FP;IQ9uFA;MA1GI,qBAgBG;IR20FP;IQjvFA;MA1GI,mBAgBG;IR80FP;IQpvFA;MA1GI,qBAgBG;IRi1FP;IQvvFA;MA1GI,mBAgBG;IRo1FP;IQ1vFA;MA1GI,mBAgBG;IRu1FP;IQ7vFA;MA1GI,eAgBG;IR01FP;IQhwFA;MA1GI,qBAgBG;IR61FP;IQnwFA;MA1GI,oBAgBG;IRg2FP;IQtwFA;MA1GI,kBAgBG;IRm2FP;IQzwFA;MA1GI,oBAgBG;IRs2FP;IQ5wFA;MA1GI,kBAgBG;IRy2FP;IQ/wFA;MA1GI,kBAgBG;IR42FP;IQlxFA;MA1GI,qBAgBG;IR+2FP;IQrxFA;MA1GI,2BAgBG;IRk3FP;IQxxFA;MA1GI,0BAgBG;IRq3FP;IQ3xFA;MA1GI,wBAgBG;IRw3FP;IQ9xFA;MA1GI,0BAgBG;IR23FP;IQjyFA;MA1GI,wBAgBG;IR83FP;IQpyFA;MA1GI,wBAgBG;IRi4FP;IQvyFA;MA1GI,oBAgBG;IRo4FP;IQ1yFA;MA1GI,0BAgBG;IRu4FP;IQ7yFA;MA1GI,yBAgBG;IR04FP;IQhzFA;MA1GI,uBAgBG;IR64FP;IQnzFA;MA1GI,yBAgBG;IRg5FP;IQtzFA;MA1GI,uBAgBG;IRm5FP;IQzzFA;MA1GI,uBAgBG;IRs5FP;IQ5zFA;MA1GI,mBAgBG;IRy5FP;IQ/zFA;MA1GI,yBAgBG;IR45FP;IQl0FA;MA1GI,wBAgBG;IR+5FP;IQr0FA;MA1GI,sBAgBG;IRk6FP;IQx0FA;MA1GI,wBAgBG;IRq6FP;IQ30FA;MA1GI,sBAgBG;IRw6FP;IQ90FA;MA1GI,sBAgBG;IR26FP;IQj1FA;MA1GI,sBAgBG;IR86FP;IQp1FA;MA1GI,4BAgBG;IRi7FP;IQv1FA;MA1GI,2BAgBG;IRo7FP;IQ11FA;MA1GI,yBAgBG;IRu7FP;IQ71FA;MA1GI,2BAgBG;IR07FP;IQh2FA;MA1GI,yBAgBG;IR67FP;IQn2FA;MA1GI,yBAgBG;IRg8FP;IQt2FA;MA1GI,UAgBG;IRm8FP;IQz2FA;MA1GI,gBAgBG;IRs8FP;IQ52FA;MA1GI,eAgBG;IRy8FP;IQ/2FA;MA1GI,aAgBG;IR48FP;IQl3FA;MA1GI,eAgBG;IR+8FP;IQr3FA;MA1GI,aAgBG;IRk9FP;IQx3FA;MA1GI,iBAgBG;IRq9FP;IQ33FA;MA1GI,uBAgBG;IRw9FP;IQ93FA;MA1GI,sBAgBG;IR29FP;IQj4FA;MA1GI,oBAgBG;IR89FP;IQp4FA;MA1GI,sBAgBG;IRi+FP;IQv4FA;MA1GI,oBAgBG;IRo+FP;IQ14FA;MA1GI,gBAgBG;IRu+FP;IQ74FA;MA1GI,sBAgBG;IR0+FP;IQh5FA;MA1GI,qBAgBG;IR6+FP;IQn5FA;MA1GI,mBAgBG;IRg/FP;IQt5FA;MA1GI,qBAgBG;IRm/FP;IQz5FA;MA1GI,mBAgBG;IRs/FP;IQ55FA;MA1GI,sBAgBG;IRy/FP;IQ/5FA;MA1GI,4BAgBG;IR4/FP;IQl6FA;MA1GI,2BAgBG;IR+/FP;IQr6FA;MA1GI,yBAgBG;IRkgGP;IQx6FA;MA1GI,2BAgBG;IRqgGP;IQ36FA;MA1GI,yBAgBG;IRwgGP;IQ96FA;MA1GI,qBAgBG;IR2gGP;IQj7FA;MA1GI,2BAgBG;IR8gGP;IQp7FA;MA1GI,0BAgBG;IRihGP;IQv7FA;MA1GI,wBAgBG;IRohGP;IQ17FA;MA1GI,0BAgBG;IRuhGP;IQ77FA;MA1GI,wBAgBG;IR0hGP;IQh8FA;MA1GI,oBAgBG;IR6hGP;IQn8FA;MA1GI,0BAgBG;IRgiGP;IQt8FA;MA1GI,yBAgBG;IRmiGP;IQz8FA;MA1GI,uBAgBG;IRsiGP;IQ58FA;MA1GI,yBAgBG;IRyiGP;IQ/8FA;MA1GI,uBAgBG;IR4iGP;IQl9FA;MA1GI,uBAgBG;IR+iGP;IQr9FA;MA1GI,6BAgBG;IRkjGP;IQx9FA;MA1GI,4BAgBG;IRqjGP;IQ39FA;MA1GI,0BAgBG;IRwjGP;IQ99FA;MA1GI,4BAgBG;IR2jGP;IQj+FA;MA1GI,0BAgBG;IR8jGP;EACF;EGplGE;IK+GA;MA1GI,eAqBO;IR8jGX;IQz+FA;MA1GI,qBAqBO;IRikGX;IQ5+FA;MA1GI,cAqBO;IRokGX;IQ/+FA;MA1GI,aAqBO;IRukGX;IQl/FA;MA1GI,oBAqBO;IR0kGX;IQr/FA;MA1GI,cAqBO;IR6kGX;IQx/FA;MA1GI,kBAqBO;IRglGX;IQ3/FA;MA1GI,mBAqBO;IRmlGX;IQ9/FA;MA1GI,aAqBO;IRslGX;IQjgGA;MA1GI,oBAqBO;IRylGX;IQpgGA;MA1GI,iBAqBO;IR4lGX;IQvgGA;MA1GI,kBAqBO;IR+lGX;IQ1gGA;MA1GI,aAqBO;IRkmGX;IQ7gGA;MA1GI,cAgBG;IR0mGP;IQhhGA;MA1GI,mBAqBO;IRwmGX;IQnhGA;MA1GI,sBAqBO;IR2mGX;IQthGA;MA1GI,2BAqBO;IR8mGX;IQzhGA;MA1GI,8BAqBO;IRinGX;IQ5hGA;MA1GI,YAgBG;IRynGP;IQ/hGA;MA1GI,YAgBG;IR4nGP;IQliGA;MA1GI,cAgBG;IR+nGP;IQriGA;MA1GI,cAgBG;IRkoGP;IQxiGA;MA1GI,eAqBO;IRgoGX;IQ3iGA;MA1GI,iBAqBO;IRmoGX;IQ9iGA;MA1GI,uBAqBO;IRsoGX;IQjjGA;MA1GI,2BAgBG;IR8oGP;IQpjGA;MA1GI,yBAgBG;IRipGP;IQvjGA;MA1GI,uBAgBG;IRopGP;IQ1jGA;MA1GI,8BAgBG;IRupGP;IQ7jGA;MA1GI,6BAgBG;IR0pGP;IQhkGA;MA1GI,6BAgBG;IR6pGP;IQnkGA;MA1GI,oBAgBG;IRgqGP;IQtkGA;MA1GI,kBAgBG;IRmqGP;IQzkGA;MA1GI,qBAgBG;IRsqGP;IQ5kGA;MA1GI,sBAgBG;IRyqGP;IQ/kGA;MA1GI,uBAgBG;IR4qGP;IQllGA;MA1GI,qBAgBG;IR+qGP;IQrlGA;MA1GI,mBAgBG;IRkrGP;IQxlGA;MA1GI,qBAgBG;IRqrGP;IQ3lGA;MA1GI,oBAgBG;IRwrGP;IQ9lGA;MA1GI,yBAgBG;IR2rGP;IQjmGA;MA1GI,uBAgBG;IR8rGP;IQpmGA;MA1GI,qBAgBG;IRisGP;IQvmGA;MA1GI,4BAgBG;IRosGP;IQ1mGA;MA1GI,2BAgBG;IRusGP;IQ7mGA;MA1GI,sBAgBG;IR0sGP;IQhnGA;MA1GI,gBAgBG;IR6sGP;IQnnGA;MA1GI,sBAgBG;IRgtGP;IQtnGA;MA1GI,oBAgBG;IRmtGP;IQznGA;MA1GI,kBAgBG;IRstGP;IQ5nGA;MA1GI,oBAgBG;IRytGP;IQ/nGA;MA1GI,mBAgBG;IR4tGP;IQloGA;MA1GI,kBAgBG;IR+tGP;IQroGA;MA1GI,gBAgBG;IRkuGP;IQxoGA;MA1GI,mBAgBG;IRquGP;IQ3oGA;MA1GI,oBAgBG;IRwuGP;IQ9oGA;MA1GI,SAgBG;IR2uGP;IQjpGA;MA1GI,QAgBG;IR8uGP;IQppGA;MA1GI,QAgBG;IRivGP;IQvpGA;MA1GI,QAgBG;IRovGP;IQ1pGA;MA1GI,QAgBG;IRuvGP;IQ7pGA;MA1GI,QAgBG;IR0vGP;IQhqGA;MA1GI,QAgBG;IR6vGP;IQnqGA;MA1GI,QAgBG;IRgwGP;IQtqGA;MA1GI,SAgBG;IRmwGP;IQzqGA;MA1GI,eAgBG;IRswGP;IQ5qGA;MA1GI,cAgBG;IRywGP;IQ/qGA;MA1GI,YAgBG;IR4wGP;IQlrGA;MA1GI,cAgBG;IR+wGP;IQrrGA;MA1GI,YAgBG;IRkxGP;IQxrGA;MA1GI,YAgBG;IRqxGP;IQ3rGA;MA1GI,gBAgBG;IRwxGP;IQ9rGA;MA1GI,sBAgBG;IR2xGP;IQjsGA;MA1GI,qBAgBG;IR8xGP;IQpsGA;MA1GI,mBAgBG;IRiyGP;IQvsGA;MA1GI,qBAgBG;IRoyGP;IQ1sGA;MA1GI,mBAgBG;IRuyGP;IQ7sGA;MA1GI,mBAgBG;IR0yGP;IQhtGA;MA1GI,eAgBG;IR6yGP;IQntGA;MA1GI,qBAgBG;IRgzGP;IQttGA;MA1GI,oBAgBG;IRmzGP;IQztGA;MA1GI,kBAgBG;IRszGP;IQ5tGA;MA1GI,oBAgBG;IRyzGP;IQ/tGA;MA1GI,kBAgBG;IR4zGP;IQluGA;MA1GI,kBAgBG;IR+zGP;IQruGA;MA1GI,qBAgBG;IRk0GP;IQxuGA;MA1GI,2BAgBG;IRq0GP;IQ3uGA;MA1GI,0BAgBG;IRw0GP;IQ9uGA;MA1GI,wBAgBG;IR20GP;IQjvGA;MA1GI,0BAgBG;IR80GP;IQpvGA;MA1GI,wBAgBG;IRi1GP;IQvvGA;MA1GI,wBAgBG;IRo1GP;IQ1vGA;MA1GI,oBAgBG;IRu1GP;IQ7vGA;MA1GI,0BAgBG;IR01GP;IQhwGA;MA1GI,yBAgBG;IR61GP;IQnwGA;MA1GI,uBAgBG;IRg2GP;IQtwGA;MA1GI,yBAgBG;IRm2GP;IQzwGA;MA1GI,uBAgBG;IRs2GP;IQ5wGA;MA1GI,uBAgBG;IRy2GP;IQ/wGA;MA1GI,mBAgBG;IR42GP;IQlxGA;MA1GI,yBAgBG;IR+2GP;IQrxGA;MA1GI,wBAgBG;IRk3GP;IQxxGA;MA1GI,sBAgBG;IRq3GP;IQ3xGA;MA1GI,wBAgBG;IRw3GP;IQ9xGA;MA1GI,sBAgBG;IR23GP;IQjyGA;MA1GI,sBAgBG;IR83GP;IQpyGA;MA1GI,sBAgBG;IRi4GP;IQvyGA;MA1GI,4BAgBG;IRo4GP;IQ1yGA;MA1GI,2BAgBG;IRu4GP;IQ7yGA;MA1GI,yBAgBG;IR04GP;IQhzGA;MA1GI,2BAgBG;IR64GP;IQnzGA;MA1GI,yBAgBG;IRg5GP;IQtzGA;MA1GI,yBAgBG;IRm5GP;IQzzGA;MA1GI,UAgBG;IRs5GP;IQ5zGA;MA1GI,gBAgBG;IRy5GP;IQ/zGA;MA1GI,eAgBG;IR45GP;IQl0GA;MA1GI,aAgBG;IR+5GP;IQr0GA;MA1GI,eAgBG;IRk6GP;IQx0GA;MA1GI,aAgBG;IRq6GP;IQ30GA;MA1GI,iBAgBG;IRw6GP;IQ90GA;MA1GI,uBAgBG;IR26GP;IQj1GA;MA1GI,sBAgBG;IR86GP;IQp1GA;MA1GI,oBAgBG;IRi7GP;IQv1GA;MA1GI,sBAgBG;IRo7GP;IQ11GA;MA1GI,oBAgBG;IRu7GP;IQ71GA;MA1GI,gBAgBG;IR07GP;IQh2GA;MA1GI,sBAgBG;IR67GP;IQn2GA;MA1GI,qBAgBG;IRg8GP;IQt2GA;MA1GI,mBAgBG;IRm8GP;IQz2GA;MA1GI,qBAgBG;IRs8GP;IQ52GA;MA1GI,mBAgBG;IRy8GP;IQ/2GA;MA1GI,sBAgBG;IR48GP;IQl3GA;MA1GI,4BAgBG;IR+8GP;IQr3GA;MA1GI,2BAgBG;IRk9GP;IQx3GA;MA1GI,yBAgBG;IRq9GP;IQ33GA;MA1GI,2BAgBG;IRw9GP;IQ93GA;MA1GI,yBAgBG;IR29GP;IQj4GA;MA1GI,qBAgBG;IR89GP;IQp4GA;MA1GI,2BAgBG;IRi+GP;IQv4GA;MA1GI,0BAgBG;IRo+GP;IQ14GA;MA1GI,wBAgBG;IRu+GP;IQ74GA;MA1GI,0BAgBG;IR0+GP;IQh5GA;MA1GI,wBAgBG;IR6+GP;IQn5GA;MA1GI,oBAgBG;IRg/GP;IQt5GA;MA1GI,0BAgBG;IRm/GP;IQz5GA;MA1GI,yBAgBG;IRs/GP;IQ55GA;MA1GI,uBAgBG;IRy/GP;IQ/5GA;MA1GI,yBAgBG;IR4/GP;IQl6GA;MA1GI,uBAgBG;IR+/GP;IQr6GA;MA1GI,uBAgBG;IRkgHP;IQx6GA;MA1GI,6BAgBG;IRqgHP;IQ36GA;MA1GI,4BAgBG;IRwgHP;IQ96GA;MA1GI,0BAgBG;IR2gHP;IQj7GA;MA1GI,4BAgBG;IR8gHP;IQp7GA;MA1GI,0BAgBG;IRihHP;EACF;EGviHE;IK+GA;MA1GI,eAqBO;IRihHX;IQ57GA;MA1GI,qBAqBO;IRohHX;IQ/7GA;MA1GI,cAqBO;IRuhHX;IQl8GA;MA1GI,aAqBO;IR0hHX;IQr8GA;MA1GI,oBAqBO;IR6hHX;IQx8GA;MA1GI,cAqBO;IRgiHX;IQ38GA;MA1GI,kBAqBO;IRmiHX;IQ98GA;MA1GI,mBAqBO;IRsiHX;IQj9GA;MA1GI,aAqBO;IRyiHX;IQp9GA;MA1GI,oBAqBO;IR4iHX;IQv9GA;MA1GI,iBAqBO;IR+iHX;IQ19GA;MA1GI,kBAqBO;IRkjHX;IQ79GA;MA1GI,aAqBO;IRqjHX;IQh+GA;MA1GI,cAgBG;IR6jHP;IQn+GA;MA1GI,mBAqBO;IR2jHX;IQt+GA;MA1GI,sBAqBO;IR8jHX;IQz+GA;MA1GI,2BAqBO;IRikHX;IQ5+GA;MA1GI,8BAqBO;IRokHX;IQ/+GA;MA1GI,YAgBG;IR4kHP;IQl/GA;MA1GI,YAgBG;IR+kHP;IQr/GA;MA1GI,cAgBG;IRklHP;IQx/GA;MA1GI,cAgBG;IRqlHP;IQ3/GA;MA1GI,eAqBO;IRmlHX;IQ9/GA;MA1GI,iBAqBO;IRslHX;IQjgHA;MA1GI,uBAqBO;IRylHX;IQpgHA;MA1GI,2BAgBG;IRimHP;IQvgHA;MA1GI,yBAgBG;IRomHP;IQ1gHA;MA1GI,uBAgBG;IRumHP;IQ7gHA;MA1GI,8BAgBG;IR0mHP;IQhhHA;MA1GI,6BAgBG;IR6mHP;IQnhHA;MA1GI,6BAgBG;IRgnHP;IQthHA;MA1GI,oBAgBG;IRmnHP;IQzhHA;MA1GI,kBAgBG;IRsnHP;IQ5hHA;MA1GI,qBAgBG;IRynHP;IQ/hHA;MA1GI,sBAgBG;IR4nHP;IQliHA;MA1GI,uBAgBG;IR+nHP;IQriHA;MA1GI,qBAgBG;IRkoHP;IQxiHA;MA1GI,mBAgBG;IRqoHP;IQ3iHA;MA1GI,qBAgBG;IRwoHP;IQ9iHA;MA1GI,oBAgBG;IR2oHP;IQjjHA;MA1GI,yBAgBG;IR8oHP;IQpjHA;MA1GI,uBAgBG;IRipHP;IQvjHA;MA1GI,qBAgBG;IRopHP;IQ1jHA;MA1GI,4BAgBG;IRupHP;IQ7jHA;MA1GI,2BAgBG;IR0pHP;IQhkHA;MA1GI,sBAgBG;IR6pHP;IQnkHA;MA1GI,gBAgBG;IRgqHP;IQtkHA;MA1GI,sBAgBG;IRmqHP;IQzkHA;MA1GI,oBAgBG;IRsqHP;IQ5kHA;MA1GI,kBAgBG;IRyqHP;IQ/kHA;MA1GI,oBAgBG;IR4qHP;IQllHA;MA1GI,mBAgBG;IR+qHP;IQrlHA;MA1GI,kBAgBG;IRkrHP;IQxlHA;MA1GI,gBAgBG;IRqrHP;IQ3lHA;MA1GI,mBAgBG;IRwrHP;IQ9lHA;MA1GI,oBAgBG;IR2rHP;IQjmHA;MA1GI,SAgBG;IR8rHP;IQpmHA;MA1GI,QAgBG;IRisHP;IQvmHA;MA1GI,QAgBG;IRosHP;IQ1mHA;MA1GI,QAgBG;IRusHP;IQ7mHA;MA1GI,QAgBG;IR0sHP;IQhnHA;MA1GI,QAgBG;IR6sHP;IQnnHA;MA1GI,QAgBG;IRgtHP;IQtnHA;MA1GI,QAgBG;IRmtHP;IQznHA;MA1GI,SAgBG;IRstHP;IQ5nHA;MA1GI,eAgBG;IRytHP;IQ/nHA;MA1GI,cAgBG;IR4tHP;IQloHA;MA1GI,YAgBG;IR+tHP;IQroHA;MA1GI,cAgBG;IRkuHP;IQxoHA;MA1GI,YAgBG;IRquHP;IQ3oHA;MA1GI,YAgBG;IRwuHP;IQ9oHA;MA1GI,gBAgBG;IR2uHP;IQjpHA;MA1GI,sBAgBG;IR8uHP;IQppHA;MA1GI,qBAgBG;IRivHP;IQvpHA;MA1GI,mBAgBG;IRovHP;IQ1pHA;MA1GI,qBAgBG;IRuvHP;IQ7pHA;MA1GI,mBAgBG;IR0vHP;IQhqHA;MA1GI,mBAgBG;IR6vHP;IQnqHA;MA1GI,eAgBG;IRgwHP;IQtqHA;MA1GI,qBAgBG;IRmwHP;IQzqHA;MA1GI,oBAgBG;IRswHP;IQ5qHA;MA1GI,kBAgBG;IRywHP;IQ/qHA;MA1GI,oBAgBG;IR4wHP;IQlrHA;MA1GI,kBAgBG;IR+wHP;IQrrHA;MA1GI,kBAgBG;IRkxHP;IQxrHA;MA1GI,qBAgBG;IRqxHP;IQ3rHA;MA1GI,2BAgBG;IRwxHP;IQ9rHA;MA1GI,0BAgBG;IR2xHP;IQjsHA;MA1GI,wBAgBG;IR8xHP;IQpsHA;MA1GI,0BAgBG;IRiyHP;IQvsHA;MA1GI,wBAgBG;IRoyHP;IQ1sHA;MA1GI,wBAgBG;IRuyHP;IQ7sHA;MA1GI,oBAgBG;IR0yHP;IQhtHA;MA1GI,0BAgBG;IR6yHP;IQntHA;MA1GI,yBAgBG;IRgzHP;IQttHA;MA1GI,uBAgBG;IRmzHP;IQztHA;MA1GI,yBAgBG;IRszHP;IQ5tHA;MA1GI,uBAgBG;IRyzHP;IQ/tHA;MA1GI,uBAgBG;IR4zHP;IQluHA;MA1GI,mBAgBG;IR+zHP;IQruHA;MA1GI,yBAgBG;IRk0HP;IQxuHA;MA1GI,wBAgBG;IRq0HP;IQ3uHA;MA1GI,sBAgBG;IRw0HP;IQ9uHA;MA1GI,wBAgBG;IR20HP;IQjvHA;MA1GI,sBAgBG;IR80HP;IQpvHA;MA1GI,sBAgBG;IRi1HP;IQvvHA;MA1GI,sBAgBG;IRo1HP;IQ1vHA;MA1GI,4BAgBG;IRu1HP;IQ7vHA;MA1GI,2BAgBG;IR01HP;IQhwHA;MA1GI,yBAgBG;IR61HP;IQnwHA;MA1GI,2BAgBG;IRg2HP;IQtwHA;MA1GI,yBAgBG;IRm2HP;IQzwHA;MA1GI,yBAgBG;IRs2HP;IQ5wHA;MA1GI,UAgBG;IRy2HP;IQ/wHA;MA1GI,gBAgBG;IR42HP;IQlxHA;MA1GI,eAgBG;IR+2HP;IQrxHA;MA1GI,aAgBG;IRk3HP;IQxxHA;MA1GI,eAgBG;IRq3HP;IQ3xHA;MA1GI,aAgBG;IRw3HP;IQ9xHA;MA1GI,iBAgBG;IR23HP;IQjyHA;MA1GI,uBAgBG;IR83HP;IQpyHA;MA1GI,sBAgBG;IRi4HP;IQvyHA;MA1GI,oBAgBG;IRo4HP;IQ1yHA;MA1GI,sBAgBG;IRu4HP;IQ7yHA;MA1GI,oBAgBG;IR04HP;IQhzHA;MA1GI,gBAgBG;IR64HP;IQnzHA;MA1GI,sBAgBG;IRg5HP;IQtzHA;MA1GI,qBAgBG;IRm5HP;IQzzHA;MA1GI,mBAgBG;IRs5HP;IQ5zHA;MA1GI,qBAgBG;IRy5HP;IQ/zHA;MA1GI,mBAgBG;IR45HP;IQl0HA;MA1GI,sBAgBG;IR+5HP;IQr0HA;MA1GI,4BAgBG;IRk6HP;IQx0HA;MA1GI,2BAgBG;IRq6HP;IQ30HA;MA1GI,yBAgBG;IRw6HP;IQ90HA;MA1GI,2BAgBG;IR26HP;IQj1HA;MA1GI,yBAgBG;IR86HP;IQp1HA;MA1GI,qBAgBG;IRi7HP;IQv1HA;MA1GI,2BAgBG;IRo7HP;IQ11HA;MA1GI,0BAgBG;IRu7HP;IQ71HA;MA1GI,wBAgBG;IR07HP;IQh2HA;MA1GI,0BAgBG;IR67HP;IQn2HA;MA1GI,wBAgBG;IRg8HP;IQt2HA;MA1GI,oBAgBG;IRm8HP;IQz2HA;MA1GI,0BAgBG;IRs8HP;IQ52HA;MA1GI,yBAgBG;IRy8HP;IQ/2HA;MA1GI,uBAgBG;IR48HP;IQl3HA;MA1GI,yBAgBG;IR+8HP;IQr3HA;MA1GI,uBAgBG;IRk9HP;IQx3HA;MA1GI,uBAgBG;IRq9HP;IQ33HA;MA1GI,6BAgBG;IRw9HP;IQ93HA;MA1GI,4BAgBG;IR29HP;IQj4HA;MA1GI,0BAgBG;IR89HP;IQp4HA;MA1GI,4BAgBG;IRi+HP;IQv4HA;MA1GI,0BAgBG;IRo+HP;EACF;EG1/HE;IK+GA;MA1GI,eAqBO;IRo+HX;IQ/4HA;MA1GI,qBAqBO;IRu+HX;IQl5HA;MA1GI,cAqBO;IR0+HX;IQr5HA;MA1GI,aAqBO;IR6+HX;IQx5HA;MA1GI,oBAqBO;IRg/HX;IQ35HA;MA1GI,cAqBO;IRm/HX;IQ95HA;MA1GI,kBAqBO;IRs/HX;IQj6HA;MA1GI,mBAqBO;IRy/HX;IQp6HA;MA1GI,aAqBO;IR4/HX;IQv6HA;MA1GI,oBAqBO;IR+/HX;IQ16HA;MA1GI,iBAqBO;IRkgIX;IQ76HA;MA1GI,kBAqBO;IRqgIX;IQh7HA;MA1GI,aAqBO;IRwgIX;IQn7HA;MA1GI,cAgBG;IRghIP;IQt7HA;MA1GI,mBAqBO;IR8gIX;IQz7HA;MA1GI,sBAqBO;IRihIX;IQ57HA;MA1GI,2BAqBO;IRohIX;IQ/7HA;MA1GI,8BAqBO;IRuhIX;IQl8HA;MA1GI,YAgBG;IR+hIP;IQr8HA;MA1GI,YAgBG;IRkiIP;IQx8HA;MA1GI,cAgBG;IRqiIP;IQ38HA;MA1GI,cAgBG;IRwiIP;IQ98HA;MA1GI,eAqBO;IRsiIX;IQj9HA;MA1GI,iBAqBO;IRyiIX;IQp9HA;MA1GI,uBAqBO;IR4iIX;IQv9HA;MA1GI,2BAgBG;IRojIP;IQ19HA;MA1GI,yBAgBG;IRujIP;IQ79HA;MA1GI,uBAgBG;IR0jIP;IQh+HA;MA1GI,8BAgBG;IR6jIP;IQn+HA;MA1GI,6BAgBG;IRgkIP;IQt+HA;MA1GI,6BAgBG;IRmkIP;IQz+HA;MA1GI,oBAgBG;IRskIP;IQ5+HA;MA1GI,kBAgBG;IRykIP;IQ/+HA;MA1GI,qBAgBG;IR4kIP;IQl/HA;MA1GI,sBAgBG;IR+kIP;IQr/HA;MA1GI,uBAgBG;IRklIP;IQx/HA;MA1GI,qBAgBG;IRqlIP;IQ3/HA;MA1GI,mBAgBG;IRwlIP;IQ9/HA;MA1GI,qBAgBG;IR2lIP;IQjgIA;MA1GI,oBAgBG;IR8lIP;IQpgIA;MA1GI,yBAgBG;IRimIP;IQvgIA;MA1GI,uBAgBG;IRomIP;IQ1gIA;MA1GI,qBAgBG;IRumIP;IQ7gIA;MA1GI,4BAgBG;IR0mIP;IQhhIA;MA1GI,2BAgBG;IR6mIP;IQnhIA;MA1GI,sBAgBG;IRgnIP;IQthIA;MA1GI,gBAgBG;IRmnIP;IQzhIA;MA1GI,sBAgBG;IRsnIP;IQ5hIA;MA1GI,oBAgBG;IRynIP;IQ/hIA;MA1GI,kBAgBG;IR4nIP;IQliIA;MA1GI,oBAgBG;IR+nIP;IQriIA;MA1GI,mBAgBG;IRkoIP;IQxiIA;MA1GI,kBAgBG;IRqoIP;IQ3iIA;MA1GI,gBAgBG;IRwoIP;IQ9iIA;MA1GI,mBAgBG;IR2oIP;IQjjIA;MA1GI,oBAgBG;IR8oIP;IQpjIA;MA1GI,SAgBG;IRipIP;IQvjIA;MA1GI,QAgBG;IRopIP;IQ1jIA;MA1GI,QAgBG;IRupIP;IQ7jIA;MA1GI,QAgBG;IR0pIP;IQhkIA;MA1GI,QAgBG;IR6pIP;IQnkIA;MA1GI,QAgBG;IRgqIP;IQtkIA;MA1GI,QAgBG;IRmqIP;IQzkIA;MA1GI,QAgBG;IRsqIP;IQ5kIA;MA1GI,SAgBG;IRyqIP;IQ/kIA;MA1GI,eAgBG;IR4qIP;IQllIA;MA1GI,cAgBG;IR+qIP;IQrlIA;MA1GI,YAgBG;IRkrIP;IQxlIA;MA1GI,cAgBG;IRqrIP;IQ3lIA;MA1GI,YAgBG;IRwrIP;IQ9lIA;MA1GI,YAgBG;IR2rIP;IQjmIA;MA1GI,gBAgBG;IR8rIP;IQpmIA;MA1GI,sBAgBG;IRisIP;IQvmIA;MA1GI,qBAgBG;IRosIP;IQ1mIA;MA1GI,mBAgBG;IRusIP;IQ7mIA;MA1GI,qBAgBG;IR0sIP;IQhnIA;MA1GI,mBAgBG;IR6sIP;IQnnIA;MA1GI,mBAgBG;IRgtIP;IQtnIA;MA1GI,eAgBG;IRmtIP;IQznIA;MA1GI,qBAgBG;IRstIP;IQ5nIA;MA1GI,oBAgBG;IRytIP;IQ/nIA;MA1GI,kBAgBG;IR4tIP;IQloIA;MA1GI,oBAgBG;IR+tIP;IQroIA;MA1GI,kBAgBG;IRkuIP;IQxoIA;MA1GI,kBAgBG;IRquIP;IQ3oIA;MA1GI,qBAgBG;IRwuIP;IQ9oIA;MA1GI,2BAgBG;IR2uIP;IQjpIA;MA1GI,0BAgBG;IR8uIP;IQppIA;MA1GI,wBAgBG;IRivIP;IQvpIA;MA1GI,0BAgBG;IRovIP;IQ1pIA;MA1GI,wBAgBG;IRuvIP;IQ7pIA;MA1GI,wBAgBG;IR0vIP;IQhqIA;MA1GI,oBAgBG;IR6vIP;IQnqIA;MA1GI,0BAgBG;IRgwIP;IQtqIA;MA1GI,yBAgBG;IRmwIP;IQzqIA;MA1GI,uBAgBG;IRswIP;IQ5qIA;MA1GI,yBAgBG;IRywIP;IQ/qIA;MA1GI,uBAgBG;IR4wIP;IQlrIA;MA1GI,uBAgBG;IR+wIP;IQrrIA;MA1GI,mBAgBG;IRkxIP;IQxrIA;MA1GI,yBAgBG;IRqxIP;IQ3rIA;MA1GI,wBAgBG;IRwxIP;IQ9rIA;MA1GI,sBAgBG;IR2xIP;IQjsIA;MA1GI,wBAgBG;IR8xIP;IQpsIA;MA1GI,sBAgBG;IRiyIP;IQvsIA;MA1GI,sBAgBG;IRoyIP;IQ1sIA;MA1GI,sBAgBG;IRuyIP;IQ7sIA;MA1GI,4BAgBG;IR0yIP;IQhtIA;MA1GI,2BAgBG;IR6yIP;IQntIA;MA1GI,yBAgBG;IRgzIP;IQttIA;MA1GI,2BAgBG;IRmzIP;IQztIA;MA1GI,yBAgBG;IRszIP;IQ5tIA;MA1GI,yBAgBG;IRyzIP;IQ/tIA;MA1GI,UAgBG;IR4zIP;IQluIA;MA1GI,gBAgBG;IR+zIP;IQruIA;MA1GI,eAgBG;IRk0IP;IQxuIA;MA1GI,aAgBG;IRq0IP;IQ3uIA;MA1GI,eAgBG;IRw0IP;IQ9uIA;MA1GI,aAgBG;IR20IP;IQjvIA;MA1GI,iBAgBG;IR80IP;IQpvIA;MA1GI,uBAgBG;IRi1IP;IQvvIA;MA1GI,sBAgBG;IRo1IP;IQ1vIA;MA1GI,oBAgBG;IRu1IP;IQ7vIA;MA1GI,sBAgBG;IR01IP;IQhwIA;MA1GI,oBAgBG;IR61IP;IQnwIA;MA1GI,gBAgBG;IRg2IP;IQtwIA;MA1GI,sBAgBG;IRm2IP;IQzwIA;MA1GI,qBAgBG;IRs2IP;IQ5wIA;MA1GI,mBAgBG;IRy2IP;IQ/wIA;MA1GI,qBAgBG;IR42IP;IQlxIA;MA1GI,mBAgBG;IR+2IP;IQrxIA;MA1GI,sBAgBG;IRk3IP;IQxxIA;MA1GI,4BAgBG;IRq3IP;IQ3xIA;MA1GI,2BAgBG;IRw3IP;IQ9xIA;MA1GI,yBAgBG;IR23IP;IQjyIA;MA1GI,2BAgBG;IR83IP;IQpyIA;MA1GI,yBAgBG;IRi4IP;IQvyIA;MA1GI,qBAgBG;IRo4IP;IQ1yIA;MA1GI,2BAgBG;IRu4IP;IQ7yIA;MA1GI,0BAgBG;IR04IP;IQhzIA;MA1GI,wBAgBG;IR64IP;IQnzIA;MA1GI,0BAgBG;IRg5IP;IQtzIA;MA1GI,wBAgBG;IRm5IP;IQzzIA;MA1GI,oBAgBG;IRs5IP;IQ5zIA;MA1GI,0BAgBG;IRy5IP;IQ/zIA;MA1GI,yBAgBG;IR45IP;IQl0IA;MA1GI,uBAgBG;IR+5IP;IQr0IA;MA1GI,yBAgBG;IRk6IP;IQx0IA;MA1GI,uBAgBG;IRq6IP;IQ30IA;MA1GI,uBAgBG;IRw6IP;IQ90IA;MA1GI,6BAgBG;IR26IP;IQj1IA;MA1GI,4BAgBG;IR86IP;IQp1IA;MA1GI,0BAgBG;IRi7IP;IQv1IA;MA1GI,4BAgBG;IRo7IP;IQ11IA;MA1GI,0BAgBG;IRu7IP;EACF;AACF","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// 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: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index e372790091a022003c892f78fef1313c3403e1c4..2a8dd706148ed31fd09d7638ceba287dcbebabf3 100644 (file)
@@ -2,5 +2,5 @@
   * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)
   * Copyright 2011-2025 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));--bs-blue-500:oklch(60% 0.24 258deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}@layer layout{.container,.container-2xl,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-inline:auto}@media (width >= 576px){.container,.container-sm{max-width:540px}}@media (width >= 768px){.container,.container-md,.container-sm{max-width:720px}}@media (width >= 1024px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (width >= 1280px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}@media (width >= 1536px){.container,.container-2xl,.container-lg,.container-md,.container-sm,.container-xl{max-width:1440px}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}@layer layout{.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-inline:calc(-0.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-inline-start:8.3333333333%}.offset-2{margin-inline-start:16.6666666667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333333333%}.offset-5{margin-inline-start:41.6666666667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333333333%}.offset-8{margin-inline-start:66.6666666667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333333333%}.offset-11{margin-inline-start:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width >= 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.3333333333%}.offset-sm-2{margin-inline-start:16.6666666667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333333333%}.offset-sm-5{margin-inline-start:41.6666666667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333333333%}.offset-sm-8{margin-inline-start:66.6666666667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333333333%}.offset-sm-11{margin-inline-start:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width >= 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.3333333333%}.offset-md-2{margin-inline-start:16.6666666667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333333333%}.offset-md-5{margin-inline-start:41.6666666667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333333333%}.offset-md-8{margin-inline-start:66.6666666667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333333333%}.offset-md-11{margin-inline-start:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width >= 1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.3333333333%}.offset-lg-2{margin-inline-start:16.6666666667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333333333%}.offset-lg-5{margin-inline-start:41.6666666667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333333333%}.offset-lg-8{margin-inline-start:66.6666666667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333333333%}.offset-lg-11{margin-inline-start:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width >= 1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.3333333333%}.offset-xl-2{margin-inline-start:16.6666666667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333333333%}.offset-xl-5{margin-inline-start:41.6666666667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333333333%}.offset-xl-8{margin-inline-start:66.6666666667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333333333%}.offset-xl-11{margin-inline-start:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width >= 1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:0 0 auto;width:auto}.row-cols-2xl-1>*{flex:0 0 auto;width:100%}.row-cols-2xl-2>*{flex:0 0 auto;width:50%}.row-cols-2xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 auto;width:25%}.row-cols-2xl-5>*{flex:0 0 auto;width:20%}.row-cols-2xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto}.col-2xl-1{flex:0 0 auto;width:8.3333333333%}.col-2xl-2{flex:0 0 auto;width:16.6666666667%}.col-2xl-3{flex:0 0 auto;width:25%}.col-2xl-4{flex:0 0 auto;width:33.3333333333%}.col-2xl-5{flex:0 0 auto;width:41.6666666667%}.col-2xl-6{flex:0 0 auto;width:50%}.col-2xl-7{flex:0 0 auto;width:58.3333333333%}.col-2xl-8{flex:0 0 auto;width:66.6666666667%}.col-2xl-9{flex:0 0 auto;width:75%}.col-2xl-10{flex:0 0 auto;width:83.3333333333%}.col-2xl-11{flex:0 0 auto;width:91.6666666667%}.col-2xl-12{flex:0 0 auto;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.3333333333%}.offset-2xl-2{margin-inline-start:16.6666666667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333333333%}.offset-2xl-5{margin-inline-start:41.6666666667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333333333%}.offset-2xl-8{margin-inline-start:66.6666666667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333333333%}.offset-2xl-11{margin-inline-start:91.6666666667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:0.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:0.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:0.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:0.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;display:grid;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap)}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width >= 576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width >= 768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width >= 1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width >= 1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width >= 1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;gap:var(--bs-gap)}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}@media (width >= 576px){.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}}@media (width >= 768px){.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}}@media (width >= 1024px){.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}}@media (width >= 1280px){.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}}@media (width >= 1536px){.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}}}
+  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));--bs-blue-500:oklch(60% 0.24 240deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}@layer layout{.container,.container-2xl,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-inline:auto}@media (width >= 576px){.container,.container-sm{max-width:540px}}@media (width >= 768px){.container,.container-md,.container-sm{max-width:720px}}@media (width >= 1024px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (width >= 1280px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}@media (width >= 1536px){.container,.container-2xl,.container-lg,.container-md,.container-sm,.container-xl{max-width:1440px}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}@layer layout{.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-inline:calc(-0.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-inline-start:8.3333333333%}.offset-2{margin-inline-start:16.6666666667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333333333%}.offset-5{margin-inline-start:41.6666666667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333333333%}.offset-8{margin-inline-start:66.6666666667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333333333%}.offset-11{margin-inline-start:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width >= 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.3333333333%}.offset-sm-2{margin-inline-start:16.6666666667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333333333%}.offset-sm-5{margin-inline-start:41.6666666667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333333333%}.offset-sm-8{margin-inline-start:66.6666666667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333333333%}.offset-sm-11{margin-inline-start:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width >= 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.3333333333%}.offset-md-2{margin-inline-start:16.6666666667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333333333%}.offset-md-5{margin-inline-start:41.6666666667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333333333%}.offset-md-8{margin-inline-start:66.6666666667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333333333%}.offset-md-11{margin-inline-start:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width >= 1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.3333333333%}.offset-lg-2{margin-inline-start:16.6666666667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333333333%}.offset-lg-5{margin-inline-start:41.6666666667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333333333%}.offset-lg-8{margin-inline-start:66.6666666667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333333333%}.offset-lg-11{margin-inline-start:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width >= 1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.3333333333%}.offset-xl-2{margin-inline-start:16.6666666667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333333333%}.offset-xl-5{margin-inline-start:41.6666666667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333333333%}.offset-xl-8{margin-inline-start:66.6666666667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333333333%}.offset-xl-11{margin-inline-start:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width >= 1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:0 0 auto;width:auto}.row-cols-2xl-1>*{flex:0 0 auto;width:100%}.row-cols-2xl-2>*{flex:0 0 auto;width:50%}.row-cols-2xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 auto;width:25%}.row-cols-2xl-5>*{flex:0 0 auto;width:20%}.row-cols-2xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto}.col-2xl-1{flex:0 0 auto;width:8.3333333333%}.col-2xl-2{flex:0 0 auto;width:16.6666666667%}.col-2xl-3{flex:0 0 auto;width:25%}.col-2xl-4{flex:0 0 auto;width:33.3333333333%}.col-2xl-5{flex:0 0 auto;width:41.6666666667%}.col-2xl-6{flex:0 0 auto;width:50%}.col-2xl-7{flex:0 0 auto;width:58.3333333333%}.col-2xl-8{flex:0 0 auto;width:66.6666666667%}.col-2xl-9{flex:0 0 auto;width:75%}.col-2xl-10{flex:0 0 auto;width:83.3333333333%}.col-2xl-11{flex:0 0 auto;width:91.6666666667%}.col-2xl-12{flex:0 0 auto;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.3333333333%}.offset-2xl-2{margin-inline-start:16.6666666667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333333333%}.offset-2xl-5{margin-inline-start:41.6666666667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333333333%}.offset-2xl-8{margin-inline-start:66.6666666667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333333333%}.offset-2xl-11{margin-inline-start:91.6666666667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:0.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:0.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:0.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:0.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;display:grid;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap)}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width >= 576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width >= 768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width >= 1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width >= 1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width >= 1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;gap:var(--bs-gap)}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}@media (width >= 576px){.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}}@media (width >= 768px){.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}}@media (width >= 1024px){.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}}@media (width >= 1280px){.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}}@media (width >= 1536px){.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}}}
 /*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
index bfb9c5ee8b0dc2f1f20195a228b241e838e76a57..1f2a102c24fc1702774234f5b8805839f96b8d48 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/layout/_containers.scss","dist/css/bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $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","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --#{$prefix}gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--#{$prefix}gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --#{$prefix}columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --#{$prefix}columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --#{$prefix}columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-top: calc(-1 * var(--#{$prefix}gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  margin-inline-start: if($num == 0, 0, math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/layout/_containers.scss","dist/css/bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $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","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --bs-blue-500: oklch(60% 0.24 240deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 057a42c51f6ff7bd373d47afc941926634bd11e8..321bb62fa655c453582b12866502852533019081 100644 (file)
@@ -4,19 +4,19 @@
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
-  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));
-  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));
-  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));
-  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));
-  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));
-  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));
-  --bs-blue-500: oklch(60% 0.24 258deg);
-  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));
-  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));
-  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));
-  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));
-  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));
-  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));
+  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));
+  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));
+  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));
+  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));
+  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));
+  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));
+  --bs-blue-500: oklch(60% 0.24 240deg);
+  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));
+  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));
+  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));
+  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));
+  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));
+  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));
   --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));
   --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));
   --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));
 
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
-  color-scheme: light dark;
+  --bs-black: #000;
+  --bs-white: #fff;
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
   --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-border-white: var(--bs-white);
   --bs-border-black: var(--bs-black);
-  --bs-black: #000;
-  --bs-white: #fff;
+  color-scheme: light dark;
 }
 
 :root,
 [data-bs-theme=light] {
-  color-scheme: light;
   --bs-white-rgb: to-rgb(#fff);
   --bs-black-rgb: to-rgb(#000);
   --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
   --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-root-font-size: 16px;
   --bs-body-font-family: var(--bs-font-sans-serif);
   --bs-font-size-base: 14px;
   --bs-font-size-xs: .75rem;
   --bs-body-color-rgb: to-rgb(var(--bs-color-body));
   --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));
   --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
   --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
   --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
   --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
   --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: -1px;
+  --bs-focus-ring-offset: 1px;
   --bs-focus-ring-color: var(--bs-primary-focus-ring);
   --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
   --bs-form-valid-color: var(--bs-success);
   --bs-form-valid-border-color: var(--bs-success);
   --bs-form-invalid-color: var(--bs-danger);
   --bs-form-invalid-border-color: var(--bs-danger);
+  color-scheme: light;
+  --bs-root-font-size: 16px;
 }
 
 [data-bs-theme=dark] {
-  color-scheme: dark;
   --bs-emphasis-color: #fff;
   --bs-emphasis-color-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
   --bs-form-valid-border-color: var(--bs-green-300);
   --bs-form-invalid-color: var(--bs-red-300);
   --bs-form-invalid-border-color: var(--bs-red-300);
+  color-scheme: dark;
 }
 
 @layer reboot {
   }
   hr {
     margin: 1rem 0;
-    color: inherit;
     border: 0;
-    border-block-start: var(--bs-border-width) solid;
-    opacity: 0.25;
+    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);
   }
   h6,
   .h6, h5,
     top: -0.5em;
   }
   a {
-    color: var(--bs-link-color);
+    color: var(--bs-theme-text, var(--bs-link-color));
     -webkit-text-decoration: var(--bs-link-decoration);
     text-decoration: var(--bs-link-decoration);
     text-underline-offset: 0.2em;
   }
   a:hover {
-    color: var(--bs-link-hover-color);
+    color: var(--bs-theme-text-emphasis, var(--bs-link-hover-color));
     -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));
     text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));
   }
     padding: 0.1875rem 0.375rem;
     font-size: 95%;
     color: var(--bs-bg-body);
-    background-color: var(--bs-color-body);
+    background-color: var(--bs-fg-body);
     border-radius: 0.375rem;
   }
   kbd kbd {
index 064adfcf8d96dd815902747ce5cff528c0732405..1d9cf0b3180ee67a5c3b3152615cf31db65c595b 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-reboot.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAEA;;;;GAAA;ACuCA;EAEI,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,uCAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EAZA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,uCAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EAZA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,uCAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EAZA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,mCAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EAZA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,mCAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EACA,gEAAA;EAZA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,sCAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EAZA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,oCAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EACA,iEAAA;EAZA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,sCAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EAZA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,sCAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EACA,mEAAA;EAZA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,qCAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EACA,kEAAA;EAZA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,uCAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;EACA,oEAAA;AC+JJ;;AChLI;EAEI,uCAAA;EAAA,uCAAA;EAAA,yDAAA;EAAA,mCAAA;EAAA,iDAAA;EAAA,+CAAA;EAAA,2CAAA;EAAA,mDAAA;EAAA,+CAAA;AD0LR;;AC5LI;EAEI,sCAAA;EAAA,sCAAA;EAAA,wDAAA;EAAA,kCAAA;EAAA,gDAAA;EAAA,8CAAA;EAAA,0CAAA;EAAA,kDAAA;EAAA,8CAAA;ADsMR;;ACxMI;EAEI,uCAAA;EAAA,uCAAA;EAAA,yDAAA;EAAA,mCAAA;EAAA,iDAAA;EAAA,+CAAA;EAAA,2CAAA;EAAA,mDAAA;EAAA,+CAAA;ADkNR;;ACpNI;EAEI,sCAAA;EAAA,sCAAA;EAAA,wDAAA;EAAA,kCAAA;EAAA,gDAAA;EAAA,8CAAA;EAAA,0CAAA;EAAA,kDAAA;EAAA,8CAAA;AD8NR;;AChOI;EAEI,uCAAA;EAAA,uCAAA;EAAA,yDAAA;EAAA,mCAAA;EAAA,iDAAA;EAAA,+CAAA;EAAA,2CAAA;EAAA,mDAAA;EAAA,+CAAA;AD0OR;;AC5OI;EAEI,oCAAA;EAAA,oCAAA;EAAA,sDAAA;EAAA,gCAAA;EAAA,8CAAA;EAAA,4CAAA;EAAA,wCAAA;EAAA,gDAAA;EAAA,4CAAA;ADsPR;;ACxPI;EAEI,uCAAA;EAAA,uCAAA;EAAA,yDAAA;EAAA,mCAAA;EAAA,iDAAA;EAAA,+CAAA;EAAA,2CAAA;EAAA,mDAAA;EAAA,+CAAA;ADkQR;;ACpQI;EAEI,yCAAA;EAAA,yCAAA;EAAA,2DAAA;EAAA,qCAAA;EAAA,mDAAA;EAAA,iDAAA;EAAA,6CAAA;EAAA,qDAAA;EAAA,iDAAA;AD8QR;;AE5SA,0GAAA;AAEA;EACE,wBAAA;EAMI,qCAAA;EAAA,qEAAA;EAAA,8EAAA;EAAA,mCAAA;EAAA,0EAAA;EAAA,yEAAA;EAAA,uEAAA;EAAA,uHAAA;EAAA,sCAAA;EAAA,sCAAA;EAAA,mHAAA;EAAA,iFAAA;EAAA,oCAAA;EAAA,6EAAA;EAAA,4EAAA;EAAA,0EAAA;EAAA,0HAAA;EAAA,qCAAA;EAAA,sCAAA;EAAA,uEAAA;EAAA,gFAAA;EAAA,oCAAA;EAAA,4EAAA;EAAA,2EAAA;EAAA,yEAAA;EAAA,yHAAA;EAAA,sCAAA;EAAA,mCAAA;EAAA,kEAAA;EAAA,2EAAA;EAAA,iCAAA;EAAA,uEAAA;EAAA,sEAAA;EAAA,oEAAA;EAAA,oHAAA;EAAA,qCAAA;EAAA,uCAAA;EAAA,yEAAA;EAAA,kFAAA;EAAA,qCAAA;EAAA,8EAAA;EAAA,6EAAA;EAAA,2EAAA;EAAA,2HAAA;EAAA,yCAAA;EAAA,kCAAA;EAAA,kEAAA;EAAA,2EAAA;EAAA,gCAAA;EAAA,uEAAA;EAAA,sEAAA;EAAA,oEAAA;EAAA,oHAAA;EAAA,sCAAA;EAAA,qCAAA;EAAA,qEAAA;EAAA,2EAAA;EAAA,mEAAA;EAAA,0EAAA;EAAA,yEAAA;EAAA,uEAAA;EAAA,uHAAA;EAAA,sEAAA;EAAA,uCAAA;EAAA,uEAAA;EAAA,gFAAA;EAAA,qEAAA;EAAA,4EAAA;EAAA,2EAAA;EAAA,yEAAA;EAAA,yHAAA;EAAA,wEAAA;EAKF,6DAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,8BAAA;EAAA,8BAAA;EAAA,gCAAA;EAAA,wBAAA;EAIA,gEAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,6DAAA;EAAA,8BAAA;EAAA,8BAAA;EAAA,wBAAA;EAIA,iCAAA;EAAA,oEAAA;EAAA,qEAAA;EAAA,sEAAA;EAAA,0EAAA;EAAA,kCAAA;EAAA,kCAAA;EAGF,gBAAA;EACA,gBAAA;AFyXF;;AErXA;;EAEE,mBAAA;EAIA,4BAAA;EACA,4BAAA;EAMA,qNAAA;EACA,yGAAA;EACA,yFAAA;EAKE,yBAAA;EAEF,gDAAA;EAGA,yBAAA;EAEA,yBAAA;EACA,0BAAA;EACA,uBAAA;EACA,wDAAA;EACA,yDAAA;EACA,sDAAA;EACA,yDAAA;EACA,yDAAA;EACA,iDAAA;EACA,yDAAA;EAEA,wBAAA;EACA,wBAAA;EACA,wBAAA;EACA,wBAAA;EACA,qCAAA;EACA,oCAAA;EACA,yBAAA;EACA,yBAAA;EACA,yBAAA;EACA,uBAAA;EAGA,yBAAA;EACA,0BAAA;EACA,0BAAA;EAKA,iDAAA;EACA,2CAAA;EAGA,2BAAA;EAEA,2EAAA;EACA,+BAAA;EACA,0EAAA;EAEA,yCAAA;EACA,0CAAA;EACA,uCAAA;EAGA,sBAAA;EACA,wBAAA;EACA,8EAAA;EACA,mDAAA;EAIA,0BAAA;EACA,+BAAA;EACA,8BAAA;EACA,2BAAA;EACA,4BAAA;EACA,8BAAA;EAGA,kDAAA;EACA,2DAAA;EACA,oDAAA;EACA,2DAAA;EAIA,0BAAA;EACA,4BAAA;EACA,mDAAA;EACA,4EAAA;EAIA,wCAAA;EACA,+CAAA;EACA,yCAAA;EACA,gDAAA;AFgVF;;AG/cI;EDqIA,kBAAA;EAGA,yBAAA;EACA,qCAAA;EACA,2BAAA;EAEA,qCAAA;EACA,wDAAA;EAEA,0CAAA;EACA,iDAAA;EACA,0CAAA;EACA,iDAAA;AF0UJ;;AIteA;EAaE;;;IAGE,sBAAA;EJ6dF;EIpdA;IAEI,mCAAA;EJqdJ;EIhdI;IAPJ;MAQM,uBAAA;IJmdJ;EACF;EItcA;IACE,SAAA;IACA,uCAAA;IACA,mCAAA;IACA,uCAAA;IACA,uCAAA;IACA,2BAAA;IACA,qCAAA;IACA,mCAAA;IACA,8BAAA;IACA,6CAAA;EJwcF;EI/bA;IACE,cAAA;IACA,cCsP0B;IDrP1B,SAAA;IACA,gDAAA;IACA,aCuP0B;EL0M5B;EIvbA;;;;;;;IACE,aAAA;IACA,qBCkN0B;ID/M1B,gBCkN0B;IDjN1B,gBCkN0B;IDjN1B,8BAAA;EJ6bF;EI1bA;;IAGE,kCCkJW;ELySb;EIxbA;;IAGE,kCC6IW;EL4Sb;EItbA;;IAGE,iCCwIW;EL+Sb;EIpbA;;IAGE,iCCmIW;ELkTb;EIlbA;;IAGE,iCC8HW;ELqTb;EIhbA;;IAGE,iCCyHW;ELwTb;EIxaA;IACE,aAAA;IACA,mBCOwB;ELma1B;EIhaA;IACE,yCAAA;IAAA,iCAAA;IACA,YAAA;IACA,sCAAA;IAAA,8BAAA;EJkaF;EI5ZA;IACE,mBAAA;IACA,kBAAA;IACA,oBAAA;EJ8ZF;EIxZA;;IAEE,0BAAA;EJ0ZF;EIvZA;;;IAGE,aAAA;IACA,mBAAA;EJyZF;EItZA;;;;IAIE,gBAAA;EJwZF;EIrZA;IACE,gBCgD0B;ELuW5B;EIlZA;IACE,sBAAA;IACA,qBAAA;EJoZF;EI9YA;IACE,gBAAA;EJgZF;EIxYA;;IAEE,mBCyB0B;ELiX5B;EIlYA;;IAEE,kBCqF0B;EL+S5B;EI9XA;;IAEE,iBC2G0B;ID1G1B,gCAAA;IACA,wCAAA;EJgYF;EIvXA;;IAEE,kBAAA;IACA,iBCiE0B;IDhE1B,cAAA;IACA,wBAAA;EJyXF;EItXA;IAAM,eAAA;EJyXN;EIxXA;IAAM,WAAA;EJ2XN;EItXA;IACE,2BAAA;IACA,kDAAA;IAAA,0CAAA;IACA,4BCpIsC;EL4fxC;EItXE;IAGE,iCAAA;IACA,mFAAA;IAAA,2EAAA;EJsXJ;EI5WE;IAEE,cAAA;IACA,qBAAA;EJ6WJ;EItWA;;;;IAIE,qCClE0B;IDmE1B,cAAA;EJwWF;EIjWA;IACE,cAAA;IACA,aAAA;IACA,mBAAA;IACA,cAAA;IACA,cCoKgC;EL+LlC;EI/VE;IACE,kBAAA;IACA,cAAA;IACA,kBAAA;EJiWJ;EI7VA;IACE,cCwJgC;IDvJhC,2BAAA;IACA,qBAAA;EJ+VF;EI5VE;IACE,cAAA;EJ8VJ;EI1VA;IACE,2BAAA;IACA,cC4IgC;ID3IhC,wBCiJgC;IDhJhC,sCCiJgC;ICjchC,uBAAA;EN6oBF;EI1VE;IACE,UAAA;IACA,cAAA;IACA,oBAAA;EJ4VJ;EInVA;IACE,gBAAA;EJqVF;EI/UA;;IAEE,sBAAA;EJiVF;EIzUA;IACE,oBAAA;IACA,yBAAA;EJ2UF;EIxUA;IAIE,qBAAA;IACA,gCAAA;IACA,iBAAA;EJuUF;EIhUA;IAEE,mBAAA;IACA,gCAAA;EJiUF;EI9TA;;;;;;IAME,qBAAA;IACA,mBAAA;IACA,eAAA;EJgUF;EIxTA;IACE,qBAAA;EJ0TF;EIpTA;IAEE,gBAAA;EJqTF;EI7SA;IACE,UAAA;EJ+SF;EI1SA;;;;;IAKE,SAAA;IACA,oBAAA;IACA,kBAAA;IACA,oBAAA;EJ4SF;EIxSA;;IAEE,oBAAA;EJ0SF;EIrSA;IACE,eAAA;EJuSF;EIpSA;IAGE,iBAAA;EJoSF;EIjSE;IACE,UAAA;EJmSJ;EI5RA;IACE,wBAAA;EJ8RF;EItRA;;;;IAIE,0BAAA;EJwRF;EIrRI;;;;IACE,eAAA;EJ0RN;EInRA;IACE,UAAA;IACA,kBAAA;EJqRF;EIhRA;IACE,gBAAA;EJkRF;EIxQA;IACE,YAAA;IACA,UAAA;IACA,SAAA;IACA,SAAA;EJ0QF;EIlQA;IACE,mBAAA;IACA,WAAA;IACA,UAAA;IACA,qBC5L0B;ID6L1B,iBC5L0B;ID8L1B,oBAAA;EJmQF;EIjQE;IACE,mBAAA;EJmQJ;EI5PA;;;;;;;IAOE,UAAA;EJ8PF;EI3PA;IACE,YAAA;EJ6PF;EIpPA;IACE,6BAAA;IACA,oBAAA;EJsPF;EInPE;IACE,eAAA;IACA,oBAAA;EJqPJ;EI9OA;;;;IAIE,cAAA;EJgPF;EI3OA;IACE,wBAAA;EJ6OF;EIxOA;IACE,UAAA;EJ0OF;EInOA;IACE,aAAA;IACA,0BAAA;EJqOF;EIhOA;IACE,qBAAA;EJkOF;EI7NA;IACE,SAAA;EJ+NF;EIxNA;IACE,kBAAA;IACA,eAAA;EJ0NF;EIlNA;IACE,wBAAA;EJoNF;EI5MA;IACE,wBAAA;EJ8MF;AACF","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    color: inherit;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid;\n    opacity: 0.25;\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-link-color);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-link-hover-color);\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-color-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--#{$prefix}root-font-size);\n      // @include font-size(var(--#{$prefix}root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--#{$prefix}body-font-family);\n    font-size: var(--#{$prefix}body-font-size);\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}color-body);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-block-start: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--#{$prefix}link-color);\n    text-decoration: var(--#{$prefix}link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --#{$prefix}link-color: var(--#{$prefix}link-hover-color);\n      // --#{$prefix}link-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n      color: var(--#{$prefix}link-hover-color);\n      text-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--#{$prefix}code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--#{$prefix}secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--#{$prefix}gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--#{$prefix}gray-100) !default;\n// $dark:          var(--#{$prefix}gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// $prefix:                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--#{$prefix}color-body) !default;\n$body-bg:                   var(--#{$prefix}bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--#{$prefix}gray-100), var(--#{$prefix}gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--#{$prefix}primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--#{$prefix}primary-contrast) !default;\n$component-active-bg:         var(--#{$prefix}primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--#{$prefix}font-size-3xl) !default;\n$h2-font-size: var(--#{$prefix}font-size-2xl) !default;\n$h3-font-size: var(--#{$prefix}font-size-xl) !default;\n$h4-font-size: var(--#{$prefix}font-size-lg) !default;\n$h5-font-size: var(--#{$prefix}font-size-md) !default;\n$h6-font-size: var(--#{$prefix}font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--#{$prefix}font-size-xs),\n    \"line-height\": var(--#{$prefix}line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--#{$prefix}font-size-sm),\n    \"line-height\": var(--#{$prefix}line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--#{$prefix}font-size-md),\n    \"line-height\": var(--#{$prefix}line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--#{$prefix}font-size-lg),\n    \"line-height\": var(--#{$prefix}line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--#{$prefix}font-size-xl),\n    \"line-height\": var(--#{$prefix}line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--#{$prefix}font-size-2xl),\n    \"line-height\": var(--#{$prefix}line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--#{$prefix}font-size-3xl),\n    \"line-height\": var(--#{$prefix}line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--#{$prefix}font-size-4xl),\n    \"line-height\": var(--#{$prefix}line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--#{$prefix}font-size-5xl),\n    \"line-height\": var(--#{$prefix}line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--#{$prefix}font-size-6xl),\n    \"line-height\": var(--#{$prefix}line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--#{$prefix}gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--#{$prefix}yellow-100) !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-font-family:       null !default;\n$input-btn-font-size:         $font-size-base !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:         .25em !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color:         $focus-ring-color !default;\n$input-btn-focus-blur:          $focus-ring-blur !default;\n$input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-font-size-sm:      $font-size-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-font-size-lg:      $font-size-lg !default;\n\n$input-btn-border-width:      var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}color-body) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     var(--#{$prefix}gray-600) !default;\n// $btn-link-color-contrast:     color-contrast($link-color) !default;\n// $btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end btn-variables\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--#{$prefix}border-color-translucent) !default;\n$offcanvas-border-width:            var(--#{$prefix}border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--#{$prefix}bg-body) !default;\n$offcanvas-color:                   var(--#{$prefix}color-body) !default;\n$offcanvas-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--#{$prefix}secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--#{$prefix}bg-body) !default;\n$kbd-bg:                            var(--#{$prefix}color-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--#{$prefix}gray-200) !default;\n// $body-bg-dark:                      var(--#{$prefix}gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--#{$prefix}gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--#{$prefix}gray-800), var(--#{$prefix}gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--#{$prefix}gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--#{$prefix}yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--#{$prefix}green-300) !default;\n$form-valid-border-color-dark:      var(--#{$prefix}green-300) !default;\n$form-invalid-color-dark:           var(--#{$prefix}red-300) !default;\n$form-invalid-border-color-dark:    var(--#{$prefix}red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-reboot.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --white-rgb: to-rgb(#fff);\n  --black-rgb: to-rgb(#000);\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --body-color-rgb: to-rgb(var(--color-body));\n  --body-bg-rgb: to-rgb(var(--bg-body));\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--color-body);\n  --highlight-bg: var(--yellow-100);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: rgba(0, 0, 0, 0.175);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --emphasis-color: #fff;\n  --emphasis-color-rgb: to-rgb(#fff);\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --border-color-translucent: rgba(255, 255, 255, 0.15);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--color-body) !default;\n$body-bg:                   var(--bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--yellow-100) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--color-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
index a699f19d6743278bc47321a6c20b415a47b506bb..f3b4984d6d97fc6d2178110cbd198546422694e5 100644 (file)
@@ -2,5 +2,5 @@
   * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)
   * Copyright 2011-2025 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));--bs-blue-500:oklch(60% 0.24 258deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{color-scheme:light;--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size:16px;--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:-1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger)}[data-bs-theme=dark]{color-scheme:dark;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300)}@layer reboot{*,::after,::before{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-color-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-block-start:var(--bs-border-width) solid;opacity:.25}.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;color:var(--bs-heading-color)}.h1,h1{font-size:var(--bs-font-size-3xl)}.h2,h2{font-size:var(--bs-font-size-2xl)}.h3,h3{font-size:var(--bs-font-size-xl)}.h4,h4{font-size:var(--bs-font-size-lg)}.h5,h5{font-size:var(--bs-font-size-md)}.h6,h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{-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-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:0.2em}a:hover{color:var(--bs-link-hover-color);-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}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:95%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:95%;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:95%;color:var(--bs-bg-body);background-color:var(--bs-color-body);border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-block:0.5rem;color:var(--bs-secondary-color);text-align:start}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:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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:inline-start;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:inline-start}::-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]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}}
+  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));--bs-blue-500:oklch(60% 0.24 240deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger);color-scheme:light;--bs-root-font-size:16px}[data-bs-theme=dark]{--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300);color-scheme:dark}@layer reboot{*,::after,::before{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-color-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.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;color:var(--bs-heading-color)}.h1,h1{font-size:var(--bs-font-size-3xl)}.h2,h2{font-size:var(--bs-font-size-2xl)}.h3,h3{font-size:var(--bs-font-size-xl)}.h4,h4{font-size:var(--bs-font-size-lg)}.h5,h5{font-size:var(--bs-font-size-md)}.h6,h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{-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-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:0.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}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:95%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:95%;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:95%;color:var(--bs-bg-body);background-color:var(--bs-fg-body);border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-block:0.5rem;color:var(--bs-secondary-color);text-align:start}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:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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:inline-start;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:inline-start}::-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]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}}
 /*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
index e7919be2ec8dbf42c7c6b4c09f52be7739cd8511..95ab9f18db5a95106da1f07f193edba31edee341 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    color: inherit;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid;\n    opacity: 0.25;\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\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  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-link-color);\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-link-hover-color);\n    -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-color-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--#{$prefix}root-font-size);\n      // @include font-size(var(--#{$prefix}root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--#{$prefix}body-font-family);\n    font-size: var(--#{$prefix}body-font-size);\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}color-body);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-block-start: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--#{$prefix}link-color);\n    text-decoration: var(--#{$prefix}link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --#{$prefix}link-color: var(--#{$prefix}link-hover-color);\n      // --#{$prefix}link-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n      color: var(--#{$prefix}link-hover-color);\n      text-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--#{$prefix}code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--#{$prefix}secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --bs-blue-500: oklch(60% 0.24 240deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-hr-border-color: var(--bs-border-color);\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: 1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n  color-scheme: light;\n  --bs-root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\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  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-theme-text, var(--bs-link-color));\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-theme-text-emphasis, var(--bs-link-hover-color));\n    -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
index bdc59ace827501672d9d47688a5c9b35db545f00..9fed090c522f7665c72c109497fd43e52311b33e 100644 (file)
@@ -4,19 +4,19 @@
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
-  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));
-  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));
-  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));
-  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));
-  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));
-  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));
-  --bs-blue-500: oklch(60% 0.24 258deg);
-  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));
-  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));
-  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));
-  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));
-  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));
-  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));
+  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));
+  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));
+  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));
+  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));
+  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));
+  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));
+  --bs-blue-500: oklch(60% 0.24 240deg);
+  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));
+  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));
+  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));
+  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));
+  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));
+  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));
   --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));
   --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));
   --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));
 
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
-  color-scheme: light dark;
+  --bs-black: #000;
+  --bs-white: #fff;
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
   --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-border-white: var(--bs-white);
   --bs-border-black: var(--bs-black);
-  --bs-black: #000;
-  --bs-white: #fff;
+  color-scheme: light dark;
 }
 
 :root,
 [data-bs-theme=light] {
-  color-scheme: light;
   --bs-white-rgb: to-rgb(#fff);
   --bs-black-rgb: to-rgb(#000);
   --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
   --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-root-font-size: 16px;
   --bs-body-font-family: var(--bs-font-sans-serif);
   --bs-font-size-base: 14px;
   --bs-font-size-xs: .75rem;
   --bs-body-color-rgb: to-rgb(var(--bs-color-body));
   --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));
   --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
   --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
   --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
   --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
   --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: -1px;
+  --bs-focus-ring-offset: 1px;
   --bs-focus-ring-color: var(--bs-primary-focus-ring);
   --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
   --bs-form-valid-color: var(--bs-success);
   --bs-form-valid-border-color: var(--bs-success);
   --bs-form-invalid-color: var(--bs-danger);
   --bs-form-invalid-border-color: var(--bs-danger);
+  color-scheme: light;
+  --bs-root-font-size: 16px;
 }
 
 [data-bs-theme=dark] {
-  color-scheme: dark;
   --bs-emphasis-color: #fff;
   --bs-emphasis-color-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
   --bs-form-valid-border-color: var(--bs-green-300);
   --bs-form-invalid-color: var(--bs-red-300);
   --bs-form-invalid-border-color: var(--bs-red-300);
+  color-scheme: dark;
 }
 
-@layer helpers {
-  .text-bg-primary {
-    color: var(--bs-primary-text);
-    --bs-bg: var(--bs-primary-bg-subtle);
-  }
-  .text-bg-accent {
-    color: var(--bs-accent-text);
-    --bs-bg: var(--bs-accent-bg-subtle);
-  }
-  .text-bg-success {
-    color: var(--bs-success-text);
-    --bs-bg: var(--bs-success-bg-subtle);
-  }
-  .text-bg-danger {
-    color: var(--bs-danger-text);
-    --bs-bg: var(--bs-danger-bg-subtle);
-  }
-  .text-bg-warning {
-    color: var(--bs-warning-text);
-    --bs-bg: var(--bs-warning-bg-subtle);
-  }
-  .text-bg-info {
-    color: var(--bs-info-text);
-    --bs-bg: var(--bs-info-bg-subtle);
-  }
-  .text-bg-inverse {
-    color: var(--bs-inverse-text);
-    --bs-bg: var(--bs-inverse-bg-subtle);
-  }
-  .text-bg-secondary {
-    color: var(--bs-secondary-text);
-    --bs-bg: var(--bs-secondary-bg-subtle);
-  }
-}
-@layer helpers {
-  .link-primary {
-    --bs-link-color: var(--bs-primary-text);
-  }
-  .link-primary:hover, .link-primary:focus {
-    --bs-link-color: var(--bs-primary-text-emphasis);
-    --bs-link-hover-color: var(--bs-primary-text-emphasis);
-  }
-  .link-accent {
-    --bs-link-color: var(--bs-accent-text);
-  }
-  .link-accent:hover, .link-accent:focus {
-    --bs-link-color: var(--bs-accent-text-emphasis);
-    --bs-link-hover-color: var(--bs-accent-text-emphasis);
-  }
-  .link-success {
-    --bs-link-color: var(--bs-success-text);
-  }
-  .link-success:hover, .link-success:focus {
-    --bs-link-color: var(--bs-success-text-emphasis);
-    --bs-link-hover-color: var(--bs-success-text-emphasis);
-  }
-  .link-danger {
-    --bs-link-color: var(--bs-danger-text);
-  }
-  .link-danger:hover, .link-danger:focus {
-    --bs-link-color: var(--bs-danger-text-emphasis);
-    --bs-link-hover-color: var(--bs-danger-text-emphasis);
-  }
-  .link-warning {
-    --bs-link-color: var(--bs-warning-text);
-  }
-  .link-warning:hover, .link-warning:focus {
-    --bs-link-color: var(--bs-warning-text-emphasis);
-    --bs-link-hover-color: var(--bs-warning-text-emphasis);
-  }
-  .link-info {
-    --bs-link-color: var(--bs-info-text);
-  }
-  .link-info:hover, .link-info:focus {
-    --bs-link-color: var(--bs-info-text-emphasis);
-    --bs-link-hover-color: var(--bs-info-text-emphasis);
-  }
-  .link-inverse {
-    --bs-link-color: var(--bs-inverse-text);
-  }
-  .link-inverse:hover, .link-inverse:focus {
-    --bs-link-color: var(--bs-inverse-text-emphasis);
-    --bs-link-hover-color: var(--bs-inverse-text-emphasis);
-  }
-  .link-secondary {
-    --bs-link-color: var(--bs-secondary-text);
-  }
-  .link-secondary:hover, .link-secondary:focus {
-    --bs-link-color: var(--bs-secondary-text-emphasis);
-    --bs-link-hover-color: var(--bs-secondary-text-emphasis);
-  }
-  .link-body-emphasis {
-    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));
-    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));
-  }
-  .link-body-emphasis:hover, .link-body-emphasis:focus {
-    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));
-    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));
-  }
-}
 @layer helpers {
   .focus-ring:focus-visible {
     outline: var(--bs-focus-ring);
     align-self: stretch;
     width: var(--bs-border-width);
     min-height: 1em;
-    background-color: currentcolor;
-    opacity: 0.25;
+    background-color: var(--bs-border-color);
   }
 }
 @layer utilities {
     --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));
     color: var(--bs-fg);
   }
-  .fg-10 {
-    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);
-  }
-  .fg-20 {
-    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);
-  }
-  .fg-30 {
-    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);
-  }
-  .fg-40 {
-    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);
-  }
-  .fg-50 {
-    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);
-  }
-  .fg-60 {
-    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);
-  }
-  .fg-70 {
-    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);
-  }
-  .fg-80 {
-    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);
-  }
-  .fg-90 {
-    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);
-  }
-  .fg-100 {
-    color: var(--bs-fg);
-  }
   .fg-contrast-primary {
     --bs-fg: var(--bs-white);
     color: var(--bs-fg);
     --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));
     color: var(--bs-fg);
   }
+  .fg-10 {
+    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);
+  }
+  .fg-20 {
+    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);
+  }
+  .fg-30 {
+    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);
+  }
+  .fg-40 {
+    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);
+  }
+  .fg-50 {
+    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);
+  }
+  .fg-60 {
+    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);
+  }
+  .fg-70 {
+    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);
+  }
+  .fg-80 {
+    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);
+  }
+  .fg-90 {
+    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);
+  }
+  .fg-100 {
+    color: var(--bs-fg);
+  }
   .link-10 {
     color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);
   }
   .bg-100 {
     background-color: var(--bs-bg);
   }
+  .theme-contrast {
+    background-color: var(--bs-theme-bg);
+    color: var(--bs-theme-contrast);
+  }
+  .theme-subtle {
+    background-color: var(--bs-theme-bg-subtle);
+    color: var(--bs-theme-text);
+  }
+  .theme-muted {
+    background-color: var(--bs-theme-bg-muted);
+    color: var(--bs-theme-text-emphasis);
+  }
+  .theme-border {
+    border: var(--bs-border-width) solid var(--bs-theme-border);
+  }
   .bg-gradient {
     background-image: var(--bs-gradient);
   }
index 597f0236b974cce5bd0303a25c838fa8b6155aec..ec5c6fcdd8eb2f52b8140c4f9a28350a10e48c7e 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-utilities.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_variables.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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pFI,8BAaG;EpBwvCT;EoBjrCE;IApFI,6BAaG;EpB2vCT;EoBprCE;IApFI,6BAaG;EpB8vCT;EoBvrCE;IApFI,oBAaG;EpBiwCT;EoB1rCE;IApFI,kBAaG;EpBowCT;EoB7rCE;IApFI,qBAaG;EpBuwCT;EoBhsCE;IApFI,sBAaG;EpB0wCT;EoBnsCE;IApFI,wBAaG;EpB6wCT;EoBtsCE;IApFI,sBAaG;EpBgxCT;EoBzsCE;IApFI,oBAaG;EpBmxCT;EoB5sCE;IApFI,uBAaG;EpBsxCT;EoB/sCE;IApFI,qBAaG;EpByxCT;EoBltCE;IApFI,mBAaG;EpB4xCT;EoBrtCE;IApFI,qBAaG;EpB+xCT;EoBxtCE;IApFI,oBAaG;EpBkyCT;EoB3tCE;IApFI,yBAaG;EpBqyCT;EoB9tCE;IApFI,uBAaG;EpBwyCT;EoBjuCE;IApFI,qBAaG;EpB2yCT;EoBpuCE;IApFI,4BAaG;EpB8yCT;EoBvuCE;IApFI,2BAaG;EpBizCT;EoB1uCE;IApFI,sBAaG;EpBozCT;EoB7uCE;IApFI,gBAaG;EpBuzCT;EoBhvCE;IApFI,sBAaG;EpB0zCT;EoBnvCE;IApFI,oBAaG;EpB6zCT;EoBtvCE;IApFI,kBAaG;EpBg0CT;EoBzvCE;IApFI,oBAaG;EpBm0CT;EoB5vCE;IApFI,mBAaG;EpBs0CT;EoB/vCE;IApFI,kBAaG;EpBy0CT;EoBlwCE;IApFI,gBAaG;EpB40CT;EoBrwCE;IApFI,mBAaG;EpB+0CT;EoBxwCE;IApFI,oBAaG;EpBk1CT;EoB3wCE;IApFI,eAkBO;EpBg1Cb;EoB9wCE;IApFI,eAkBO;EpBm1Cb;EoBjxCE;IApFI,eAkBO;EpBs1Cb;EoBpxCE;IApFI,mBAaG;EpB81CT;EoBvxCE;IApFI,mBAkBO;EpB41Cb;EoB1xCE;IApFI,sBAkBO;EpB+1Cb;EoB7xCE;IApFI,qBAkBO;EpBk2Cb;EoBhyCE;IApFI,SAaG;EpB02CT;EoBnyCE;IApFI,QAaG;EpB62CT;EoBtyCE;IApFI,QAaG;EpBg3CT;EoBzyCE;IApFI,QAaG;EpBm3CT;EoB5yCE;IApFI,QAaG;EpBs3CT;EoB/yCE;IApFI,QAaG;EpBy3CT;EoBlzCE;IApFI,QAaG;EpB43CT;EoBrzCE;IApFI,QAaG;EpB+3CT;EoBxzCE;IApFI,SAaG;EpBk4CT;EoB3zCE;IApFI,eAaG;EpBq4CT;EoB9zCE;IApFI,cAaG;EpBw4CT;EoBj0CE;IApFI,YAaG;EpB24CT;EoBp0CE;IApFI,cAaG;EpB84CT;EoBv0CE;IApFI,YAaG;EpBi5CT;EoB10CE;IApFI,YAaG;EpBo5CT;EoB70CE;IApFI,gBAaG;EpBu5CT;EoBh1CE;IApFI,sBAaG;EpB05CT;EoBn1CE;IApFI,qBAaG;EpB65CT;EoBt1CE;IApFI,mBAaG;EpBg6CT;EoBz1CE;IApFI,qBAaG;EpBm6CT;EoB51CE;IApFI,mBAaG;EpBs6CT;EoB/1CE;IApFI,mBAaG;EpBy6CT;EoBl2CE;IApFI,eAaG;EpB46CT;EoBr2CE;IApFI,qBAaG;EpB+6CT;EoBx2CE;IApFI,oBAaG;EpBk7CT;EoB32CE;IApFI,kBAaG;EpBq7CT;EoB92CE;IApFI,oBAaG;EpBw7CT;EoBj3CE;IApFI,kBAaG;EpB27CT;EoBp3CE;IApFI,kBAaG;EpB87CT;EoBv3CE;IApFI,qBAaG;EpBi8CT;EoB13CE;IApFI,2BAaG;EpBo8CT;EoB73CE;IApFI,0BAaG;EpBu8CT;EoBh4CE;IApFI,wBAaG;EpB08CT;EoBn4CE;IApFI,0BAaG;EpB68CT;EoBt4CE;IApFI,wBAaG;EpBg9CT;EoBz4CE;IApFI,wBAaG;EpBm9CT;EoB54CE;IApFI,oBAaG;EpBs9CT;EoB/4CE;IApFI,0BAaG;EpBy9CT;EoBl5CE;IApFI,yBAaG;EpB49CT;EoBr5CE;IApFI,uBAaG;EpB+9CT;EoBx5CE;IApFI,yBAaG;EpBk+CT;EoB35CE;IApFI,uBAaG;EpBq+CT;EoB95CE;IApFI,uBAaG;EpBw+CT;EoBj6CE;IApFI,mBAaG;EpB2+CT;EoBp6CE;IApFI,yBAaG;EpB8+CT;EoBv6CE;IApFI,wBAaG;EpBi/CT;EoB16CE;IApFI,sBAaG;EpBo/CT;EoB76CE;IApFI,wBAaG;EpBu/CT;EoBh7CE;IApFI,sBAaG;EpB0/CT;EoBn7CE;IApFI,sBAaG;EpB6/CT;EoBt7CE;IApFI,sBAaG;EpBggDT;EoBz7CE;IApFI,4BAaG;EpBmgDT;EoB57CE;IApFI,2BAaG;EpBsgDT;EoB/7CE;IApFI,yBAaG;EpBygDT;EoBl8CE;IApFI,2BAaG;EpB4gDT;EoBr8CE;IApFI,yBAaG;EpB+gDT;EoBx8CE;IApFI,yBAaG;EpBkhDT;EoB38CE;IApFI,UAaG;EpBqhDT;EoB98CE;IApFI,gBAaG;EpBwhDT;EoBj9CE;IApFI,eAaG;EpB2hDT;EoBp9CE;IApFI,aAaG;EpB8hDT;EoBv9CE;IApFI,eAaG;EpBiiDT;EoB19CE;IApFI,aAaG;EpBoiDT;EoB79CE;IApFI,iBAaG;EpBuiDT;EoBh+CE;IApFI,uBAaG;EpB0iDT;EoBn+CE;IApFI,sBAaG;EpB6iDT;EoBt+CE;IApFI,oBAaG;EpBgjDT;EoBz+CE;IApFI,sBAaG;EpBmjDT;EoB5+CE;IApFI,oBAaG;EpBsjDT;EoB/+CE;IApFI,gBAaG;EpByjDT;EoBl/CE;IApFI,sBAaG;EpB4jDT;EoBr/CE;IApFI,qBAaG;EpB+jDT;EoBx/CE;IApFI,mBAaG;EpBkkDT;EoB3/CE;IApFI,qBAaG;EpBqkDT;EoB9/CE;IApFI,mBAaG;EpBwkDT;EoBjgDE;IApFI,sBAaG;EpB2kDT;EoBpgDE;IApFI,4BAaG;EpB8kDT;EoBvgDE;IApFI,2BAaG;EpBilDT;EoB1gDE;IApFI,yBAaG;EpBolDT;EoB7gDE;IApFI,2BAaG;EpBulDT;EoBhhDE;IApFI,yBAaG;EpB0lDT;EoBnhDE;IApFI,qBAaG;EpB6lDT;EoBthDE;IApFI,2BAaG;EpBgmDT;EoBzhDE;IApFI,0BAaG;EpBmmDT;EoB5hDE;IApFI,wBAaG;EpBsmDT;EoB/hDE;IApFI,0BAaG;EpBymDT;EoBliDE;IApFI,wBAaG;EpB4mDT;EoBriDE;IApFI,oBAaG;EpB+mDT;EoBxiDE;IApFI,0BAaG;EpBknDT;EoB3iDE;IApFI,yBAaG;EpBqnDT;EoB9iDE;IApFI,uBAaG;EpBwnDT;EoBjjDE;IApFI,yB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P;IoB7nFA;MApFI,qBAaG;IpBusFP;IoBhoFA;MApFI,mBAaG;IpB0sFP;IoBnoFA;MApFI,qBAaG;IpB6sFP;IoBtoFA;MApFI,oBAaG;IpBgtFP;IoBzoFA;MApFI,yBAaG;IpBmtFP;IoB5oFA;MApFI,uBAaG;IpBstFP;IoB/oFA;MApFI,qBAaG;IpBytFP;IoBlpFA;MApFI,4BAaG;IpB4tFP;IoBrpFA;MApFI,2BAaG;IpB+tFP;IoBxpFA;MApFI,sBAaG;IpBkuFP;IoB3pFA;MApFI,gBAaG;IpBquFP;IoB9pFA;MApFI,sBAaG;IpBwuFP;IoBjqFA;MApFI,oBAaG;IpB2uFP;IoBpqFA;MApFI,kBAaG;IpB8uFP;IoBvqFA;MApFI,oBAaG;IpBivFP;IoB1qFA;MApFI,mBAaG;IpBovFP;IoB7qFA;MApFI,kBAaG;IpBuvFP;IoBhrFA;MApFI,gBAaG;IpB0vFP;IoBnrFA;MApFI,mBAaG;IpB6vFP;IoBtrFA;MApFI,oBAaG;IpBgwFP;IoBzrFA;MApFI,eAkBO;IpB8vFX;IoB5rFA;MApFI,eAkBO;IpBiwFX;IoB/rFA;MApFI,eAkBO;IpBowFX;IoBlsFA;MApFI,mBAaG;IpB4wFP;IoBrsFA;MApFI,mBAkBO;IpB0wFX;IoBxsFA;MApFI,sBAkBO;IpB6wFX;IoB3sFA;MApFI,qBAkBO;IpBgxFX;IoB9sFA;MApFI,SAaG;IpBwxFP;IoBjtFA;MApFI,QAaG;IpB2xFP;IoBptFA;MApFI,QAaG;IpB8xFP;IoBvtFA;MApFI,QAaG;IpBiyFP;IoB1tFA;MApFI,QAaG;IpBoyFP;IoB7tFA;MApFI,QAaG;IpBuyFP;IoBhuFA;MApFI,QAaG;IpB0yFP;IoBnuFA;MApFI,QAaG;IpB6yFP;IoBtuFA;MApFI,SAaG;IpBgzFP;IoBzuFA;MApFI,eAaG;IpBmzFP;IoB5uFA;MApFI,cAaG;IpBszFP;IoB/uFA;MApFI,YAaG;IpByzFP;IoBlvFA;MApFI,cAaG;IpB4zFP;IoBrvFA;MApFI,YAaG;IpB+zFP;IoBxvFA;MApFI,YAaG;IpBk0FP;IoB3vFA;MApFI,gBAaG;IpBq0FP;IoB9vFA;MApFI,sBAaG;IpBw0FP;IoBjwFA;MApFI,qBAaG;IpB20FP;IoBpwFA;MApFI,mBAaG;IpB80FP;IoBvwFA;MApFI,qBAaG;IpBi1FP;IoB1wFA;MApFI,mBAaG;IpBo1FP;IoB7wFA;MApFI,mBAaG;IpBu1FP;IoBhxFA;MApFI,eAaG;IpB01FP;IoBnxFA;MApFI,qBAaG;IpB61FP;IoBtxFA;MApFI,oBAaG;IpBg2FP;IoBzxFA;MApFI,kBAaG;IpBm2FP;IoB5xFA;MApFI,oBAaG;IpBs2FP;IoB/xFA;MApFI,kBAaG;IpBy2FP;IoBlyFA;MApFI,kBAaG;IpB42FP;IoBryFA;MApFI,qBAaG;IpB+2FP;IoBxyFA;MApFI,2BAaG;IpBk3FP;IoB3yFA;MApFI,0BAaG;IpBq3FP;IoB9yFA;MApFI,wBAaG;IpBw3FP;IoBjzFA;MApFI,0BAaG;IpB23FP;IoBpzFA;MApFI,wBAaG;IpB83FP;IoBvzFA;MApFI,wBAaG;IpBi4FP;IoB1zFA;MApFI,oBAaG;IpBo4FP;IoB7zFA;MApFI,0BAaG;IpBu4FP;IoBh0FA;MApFI,yBAaG;IpB04FP;IoBn0FA;MApFI,uBAaG;IpB64FP;IoBt0FA;MApFI,yBAaG;IpBg5FP;IoBz0FA;MApFI,uBAaG;IpBm5FP;IoB50FA;MApFI,uBAaG;IpBs5FP;IoB/0FA;MApFI,mBAaG;IpBy5FP;IoBl1FA;MApFI,yBAaG;IpB45FP;IoBr1FA;MApFI,wBAaG;IpB+5FP;IoBx1FA;MApFI,sBAaG;IpBk6FP;IoB31FA;MApFI,wBAaG;IpBq6FP;IoB91FA;MApFI,sBAaG;IpBw6FP;IoBj2FA;MApFI,sBAaG;IpB26FP;IoBp2FA;MApFI,sBAaG;IpB86FP;IoBv2FA;MApFI,4BAaG;IpBi7FP;IoB12FA;MApFI,2BAaG;IpBo7FP;IoB72FA;MApFI,yBAaG;IpBu7FP;IoBh3FA;MApFI,2BAaG;IpB07FP;IoBn3FA;MApFI,yBAaG;IpB67FP;IoBt3FA;MApFI,yBAaG;IpBg8FP;IoBz3FA;MApFI,UAaG;IpBm8FP;IoB53FA;MApFI,gBAaG;IpBs8FP;IoB/3FA;MApFI,eAaG;IpBy8FP;IoBl4FA;MApFI,aAaG;IpB48FP;IoBr4FA;MApFI,eAaG;IpB+8FP;IoBx4FA;MApFI,aAaG;IpBk9FP;IoB34FA;MApFI,iBAaG;IpBq9FP;IoB94FA;MApFI,uBAaG;IpBw9FP;IoBj5FA;MApFI,sBAaG;IpB29FP;IoBp5FA;MApFI,oBAaG;IpB89FP;IoBv5FA;MApFI,sBAaG;IpBi+FP;IoB15FA;MApFI,oBAaG;IpBo+FP;IoB75FA;MApFI,gBAaG;IpBu+FP;IoBh6FA;MApFI,sBAaG;IpB0+FP;IoBn6FA;MApFI,qBAaG;IpB6+FP;IoBt6FA;MApFI,mBAaG;IpBg/FP;IoBz6FA;MApFI,qBAaG;IpBm/FP;IoB56FA;MApFI,mBAaG;IpBs/FP;IoB/6FA;MApFI,sBAaG;IpBy/FP;IoBl7FA;MApFI,4BAaG;IpB4/FP;IoBr7FA;MApFI,2BAaG;IpB+/FP;IoBx7FA;MApFI,yBAaG;IpBkgGP;IoB37FA;MApFI,2BAaG;IpBqgGP;IoB97FA;MApFI,yBAaG;IpBwgGP;IoBj8FA;MApFI,qBAaG;IpB2gGP;IoBp8FA;MApFI,2BAaG;IpB8gGP;IoBv8FA;MApFI,0BAaG;IpBihGP;IoB18FA;MApFI,wBAaG;IpBohGP;IoB78FA;MApFI,0BAaG;IpBuhGP;IoBh9FA;MApFI,wBAaG;IpB0hGP;IoBn9FA;MApFI,oBAaG;IpB6hGP;IoBt9FA;MApFI,0BAaG;IpBgiGP;IoBz9FA;MApFI,yBAaG;IpBmiGP;IoB59FA;MApFI,uBAaG;IpBsiGP;IoB/9FA;MApFI,yBAaG;IpByiGP;IoBl+FA;MApFI,uBAaG;IpB4iGP;IoBr+FA;MApFI,uBAaG;IpB+iGP;IoBx+FA;MApFI,6BAaG;IpBkjGP;IoB3+FA;MApFI,4BAaG;IpBqjGP;IoB9+FA;MApFI,0BAaG;IpBwjGP;IoBj/FA;MApFI,4BAaG;IpB2jGP;IoBp/FA;MApFI,0BAaG;IpB8jGP;IoBv/FA;MApFI,MAaG;IpBikGP;IoB1/FA;MApFI,YAaG;IpBokGP;IoB7/FA;MApFI,WAaG;IpBukGP;IoBhgGA;MApFI,SAaG;IpB0kGP;IoBngGA;MApFI,WAaG;IpB6kGP;IoBtgGA;MApFI,SAaG;IpBglGP;IoBzgGA;MApFI,UAaG;IpBmlGP;IoB5gGA;MApFI,gBAaG;IpBslGP;IoB/gGA;MApFI,eAaG;IpBylGP;IoBlhGA;MApFI,aAaG;IpB4lGP;IoBrhGA;MApFI,eAaG;IpB+lGP;IoBxhGA;MApFI,aAaG;IpBkmGP;IoB3hGA;MApFI,kBAaG;MAbH,aAaG;IpBqmGP;IoB9hGA;MApFI,wBAaG;MAbH,mBAaG;IpBwmGP;IoBjiGA;MApFI,uBAaG;MAbH,kBAaG;IpB2mGP;IoBpiGA;MApFI,qBAaG;MAbH,gBAaG;IpB8mGP;IoBviGA;MApFI,uBAaG;MAbH,kBAaG;IpBinGP;IoB1iGA;MApFI,qBAaG;MAbH,gBAaG;IpBonGP;IoB7iGA;MApFI,iBAaG;IpBunGP;IoBhjGA;MApFI,eAaG;IpB0nGP;IoBnjGA;MApFI,kBAaG;IpB6nGP;EACF;EWrpGE;IS8FA;MApFI,mBAaG;IpBkoGP;IoB3jGA;MApFI,iBAaG;IpBqoGP;IoB9jGA;MApFI,WAaG;IpBwoGP;IoBjkGA;MApFI,sBAaG;MAbH,mBAaG;IpB2oGP;IoBpkGA;MApFI,oBAaG;MAbH,iBAaG;IpB8oGP;IoBvkGA;MApFI,mBAaG;MAbH,gBAaG;IpBipGP;IoB1kGA;MApFI,yBAaG;MAbH,sBAaG;IpBopGP;IoB7kGA;MApFI,mBAaG;MAbH,gBAaG;IpBupGP;IoBhlGA;MApFI,eAkBO;IpBqpGX;IoBnlGA;MApFI,qBAkBO;IpBwpGX;IoBtlGA;MApFI,cAkBO;IpB2pGX;IoBzlGA;MApFI,aAkBO;IpB8pGX;IoB5lGA;MApFI,oBAkBO;IpBiqGX;IoB/lGA;MApFI,cAkBO;IpBoqGX;IoBlmGA;MApFI,kBAkBO;IpBuqGX;IoBrmGA;MApFI,mBAkBO;IpB0qGX;IoBxmGA;MApFI,aAkBO;IpB6qGX;IoB3mGA;MApFI,oBAkBO;IpBgrGX;IoB9mGA;MApFI,iBAkBO;IpBmrGX;IoBjnGA;MApFI,kBAkBO;IpBsrGX;IoBpnGA;MApFI,aAkBO;IpByrGX;IoBvnGA;MApFI,cAaG;IpBisGP;IoB1nGA;MApFI,mBAkBO;IpB+rGX;IoB7nGA;MApFI,sBAkBO;IpBksGX;IoBhoGA;MApFI,2BAkBO;IpBqsGX;IoBnoGA;MApFI,8BAkBO;IpBwsGX;IoBtoGA;MApFI,YAaG;IpBgtGP;IoBzoGA;MApFI,YAaG;IpBmtGP;IoB5oGA;MApFI,cAaG;IpBstGP;IoB/oGA;MApFI,cAaG;IpBytGP;IoBlpGA;MApFI,eAkBO;IpButGX;IoBrpGA;MApFI,iBAkBO;IpB0tGX;IoBxpGA;MApFI,uBAkBO;IpB6tGX;IoB3pGA;MApFI,2BAaG;IpBquGP;IoB9pGA;MApFI,yBAaG;IpBwuGP;IoBjqGA;MApFI,uBAaG;IpB2uGP;IoBpqGA;MApFI,8BAaG;IpB8uGP;IoBvqGA;MApFI,6BAaG;IpBivGP;IoB1qGA;MApFI,6BAaG;IpBovGP;IoB7qGA;MApFI,oBAaG;IpBuvGP;IoBhrGA;MApFI,kBAaG;IpB0vGP;IoBnrGA;MApFI,qBAaG;IpB6vGP;IoBtrGA;MApFI,sBAaG;IpBgwGP;IoBzrGA;MApFI,wBAaG;IpBmwGP;IoB5rGA;MApFI,sBAaG;IpBswGP;IoB/rGA;MApFI,oBAaG;IpBywGP;IoBlsGA;MApFI,uBAaG;IpB4wGP;IoBrsGA;MApFI,qBAaG;IpB+wGP;IoBxsGA;MApFI,mBAaG;IpBkxGP;IoB3sGA;MApFI,qBAaG;IpBqxGP;IoB9sGA;MApFI,oBAaG;IpBwxGP;IoBjtGA;MApFI,yBAaG;IpB2xGP;IoBptGA;MApFI,uBAaG;IpB8xGP;IoBvtGA;MApFI,qBAaG;IpBiyGP;IoB1tGA;MApFI,4BAaG;IpBoyGP;IoB7tGA;MApFI,2BAaG;IpBuyGP;IoBhuGA;MApFI,sBAaG;IpB0yGP;IoBnuGA;MApFI,gBAaG;IpB6yGP;IoBtuGA;MApFI,sBAaG;IpBgzGP;IoBzuGA;MApFI,oBAaG;IpBmzGP;IoB5uGA;MApFI,kBAaG;IpBszGP;IoB/uGA;MApFI,oBAaG;IpByzGP;IoBlvGA;MApFI,mBAaG;IpB4zGP;IoBrvGA;MApFI,kBAaG;IpB+zGP;IoBxvGA;MApFI,gBAaG;IpBk0GP;IoB3vGA;MApFI,mBAaG;IpBq0GP;IoB9vGA;MApFI,oBAaG;IpBw0GP;IoBjwGA;MApFI,eAkBO;IpBs0GX;IoBpwGA;MApFI,eAkBO;IpBy0GX;IoBvwGA;MApFI,eAkBO;IpB40GX;IoB1wGA;MApFI,mBAaG;IpBo1GP;IoB7wGA;MApFI,mBAkBO;IpBk1GX;IoBhxGA;MApFI,sBAkBO;IpBq1GX;IoBnxGA;MApFI,qBAkBO;IpBw1GX;IoBtxGA;MApFI,SAaG;IpBg2GP;IoBzxGA;MApFI,QAaG;IpBm2GP;IoB5xGA;MApFI,QAaG;IpBs2GP;IoB/xGA;MApFI,QAaG;IpBy2GP;IoBlyGA;MApFI,QAaG;IpB42GP;IoBryGA;MApFI,QAaG;IpB+2GP;IoBxyGA;MApFI,QAaG;IpBk3GP;IoB3yGA;MApFI,QAaG;IpBq3GP;IoB9yGA;MApFI,SAaG;IpBw3GP;IoBjzGA;MApFI,eAaG;IpB23GP;IoBpzGA;MApFI,cAaG;IpB83GP;IoBvzGA;MApFI,YAaG;IpBi4GP;IoB1zGA;MApFI,cAaG;IpBo4GP;IoB7zGA;MApFI,YAaG;IpBu4GP;IoBh0GA;MApFI,YAaG;IpB04GP;IoBn0GA;MApFI,gBAaG;IpB64GP;IoBt0GA;MApFI,sBAaG;IpBg5GP;IoBz0GA;MApFI,qBAaG;IpBm5GP;IoB50GA;MApFI,mBAaG;IpBs5GP;IoB/0GA;MApFI,qBAaG;IpBy5GP;IoBl1GA;MApFI,mBAaG;IpB45GP;IoBr1GA;MApFI,mBAaG;IpB+5GP;IoBx1GA;MApFI,eAaG;IpBk6GP;IoB31GA;MApFI,qBAaG;IpBq6GP;IoB91GA;MApFI,oBAaG;IpBw6GP;IoBj2GA;MApFI,kBAaG;IpB26GP;IoBp2GA;MApFI,oBAaG;IpB86GP;IoBv2GA;MApFI,kBAaG;IpBi7GP;IoB12GA;MApFI,kBAaG;IpBo7GP;IoB72GA;MApFI,qBAaG;IpBu7GP;IoBh3GA;MApFI,2BAaG;IpB07GP;IoBn3GA;MApFI,0BAaG;IpB67GP;IoBt3GA;MApFI,wBAaG;IpBg8GP;IoBz3GA;MApFI,0BAaG;IpBm8GP;IoB53GA;MApFI,wBAaG;IpBs8GP;IoB/3GA;MApFI,wBAaG;IpBy8GP;IoBl4GA;MApFI,oBAaG;IpB48GP;IoBr4GA;MApFI,0BAaG;IpB+8GP;IoBx4GA;MApFI,yBAaG;IpBk9GP;IoB34GA;MApFI,uBAaG;IpBq9GP;IoB94GA;MApFI,yBAaG;IpBw9GP;IoBj5GA;MApFI,uBAaG;IpB29GP;IoBp5GA;MApFI,uBAaG;IpB89GP;IoBv5GA;MApFI,mBAaG;IpBi+GP;IoB15GA;MApFI,yBAaG;IpBo+GP;IoB75GA;MApFI,wBAaG;IpBu+GP;IoBh6GA;MApFI,sBAaG;IpB0+GP;IoBn6GA;MApFI,wBAaG;IpB6+GP;IoBt6GA;MApFI,sBAaG;IpBg/GP;IoBz6GA;MApFI,sBAaG;IpBm/GP;IoB56GA;MApFI,sBAaG;IpBs/GP;IoB/6GA;MApFI,4BAaG;IpBy/GP;IoBl7GA;MApFI,2BAaG;IpB4/GP;IoBr7GA;MApFI,yBAaG;IpB+/GP;IoBx7GA;MApFI,2BAaG;IpBkgHP;IoB37GA;MApFI,yBAaG;IpBqgHP;IoB97GA;MApFI,yBAaG;IpBwgHP;IoBj8GA;MApFI,UAaG;IpB2gHP;IoBp8GA;MApFI,gBAaG;IpB8gHP;IoBv8GA;MApFI,eAaG;IpBihHP;IoB18GA;MApFI,aAaG;IpBohHP;IoB78GA;MApFI,eAaG;IpBuhHP;IoBh9GA;MApFI,aAaG;IpB0hHP;IoBn9GA;MApFI,iBAaG;IpB6hHP;IoBt9GA;MApFI,uBAaG;IpBgiHP;IoBz9GA;MApFI,sBAaG;IpBmiHP;IoB59GA;MApFI,oBAaG;IpBsiHP;IoB/9GA;MApFI,sBAaG;IpByiHP;IoBl+GA;MApFI,oBAaG;IpB4iHP;IoBr+GA;MApFI,gBAaG;IpB+iHP;IoBx+GA;MApFI,sBAaG;IpBkjHP;IoB3+GA;MApFI,qBAaG;IpBqjHP;IoB9+GA;MApFI,mBAaG;IpBwjHP;IoBj/GA;MApFI,qBAaG;IpB2jHP;IoBp/GA;MApFI,mBAaG;IpB8jHP;IoBv/GA;MApFI,sBAaG;I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IoB/uHA;MApFI,6BAaG;IpByzHP;IoBlvHA;MApFI,6BAaG;IpB4zHP;IoBrvHA;MApFI,oBAaG;IpB+zHP;IoBxvHA;MApFI,kBAaG;IpBk0HP;IoB3vHA;MApFI,qBAaG;IpBq0HP;IoB9vHA;MApFI,sBAaG;IpBw0HP;IoBjwHA;MApFI,wBAaG;IpB20HP;IoBpwHA;MApFI,sBAaG;IpB80HP;IoBvwHA;MApFI,oBAaG;IpBi1HP;IoB1wHA;MApFI,uBAaG;IpBo1HP;IoB7wHA;MApFI,qBAaG;IpBu1HP;IoBhxHA;MApFI,mBAaG;IpB01HP;IoBnxHA;MApFI,qBAaG;IpB61HP;IoBtxHA;MApFI,oBAaG;IpBg2HP;IoBzxHA;MApFI,yBAaG;IpBm2HP;IoB5xHA;MApFI,uBAaG;IpBs2HP;IoB/xHA;MApFI,qBAaG;IpBy2HP;IoBlyHA;MApFI,4BAaG;IpB42HP;IoBryHA;MApFI,2BAaG;IpB+2HP;IoBxyHA;MApFI,sBAaG;IpBk3HP;IoB3yHA;MApFI,gBAaG;IpBq3HP;IoB9yHA;MApFI,sBAaG;IpBw3HP;IoBjzHA;MApFI,oBAaG;IpB23HP;IoBpzHA;MApFI,kBAaG;IpB83HP;IoBvzHA;MApFI,oBAaG;IpBi4HP;IoB1zHA;MApFI,mBAaG;IpBo4HP;IoB7zHA;MApFI,kBAaG;IpBu4HP;IoBh0HA;MApFI,gBAaG;IpB04HP;IoBn0HA;MApFI,mBAaG;IpB64HP;IoBt0HA;MApFI,oBAaG;IpBg5HP;IoBz0HA;MApFI,eAkBO;IpB84HX;IoB50HA;MApFI,eAkBO;IpBi5HX;IoB/0HA;MApFI,eAkBO;IpBo5HX;IoBl1HA;MApFI,mBAaG;IpB45HP;IoBr1HA;MApFI,mBAkBO;IpB05HX;IoBx1HA;MApFI,sBAkBO;IpB65HX;IoB31HA;MApFI,qBAkBO;IpBg6HX;IoB91HA;MApFI,SAaG;IpBw6HP;IoBj2HA;MApFI,QAaG;IpB26HP;IoBp2HA;MApFI,QAaG;IpB86HP;IoBv2HA;MApFI,QAaG;IpBi7HP;IoB12HA;MApFI,QAaG;IpBo7HP;IoB72HA;MApFI,QAaG;IpBu7HP;IoBh3HA;MApFI,QAaG;IpB07HP;IoBn3HA;MApFI,QAaG;IpB67HP;IoBt3HA;MApFI,SAaG;IpBg8HP;IoBz3HA;MApFI,eAaG;IpBm8HP;IoB53HA;MApFI,cAaG;IpBs8HP;IoB/3HA;MApFI,YAaG;IpBy8HP;IoBl4HA;MApFI,cAaG;IpB48HP;IoBr4HA;MApFI,YAaG;IpB+8HP;IoBx4HA;MApFI,YAaG;IpBk9HP;IoB34HA;MApFI,gBAaG;IpBq9HP;IoB94HA;MApFI,sBAaG;IpBw9HP;IoBj5HA;MApFI,qBAaG;IpB29HP;IoBp5HA;MApFI,mBAaG;IpB89HP;IoBv5HA;MApFI,qBAaG;IpBi+HP;IoB15HA;MApFI,mBAaG;IpBo+HP;IoB75HA;MApFI,mBAaG;IpBu+HP;IoBh6HA;MApFI,eAaG;IpB0+HP;IoBn6HA;MApFI,qBAaG;IpB6+HP;IoBt6HA;MApFI,oBAaG;IpBg/HP;IoBz6HA;MApFI,kBAaG;IpBm/HP;IoB56HA;MApFI,oBAaG;IpBs/HP;IoB/6HA;MApFI,kBAaG;IpBy/HP;IoBl7HA;MApFI,kBAaG;IpB4/HP;IoBr7HA;MApFI,qBAaG;IpB+/HP;IoBx7HA;MApFI,2BAaG;IpBkgIP;IoB37HA;MApFI,0BAaG;IpBqgIP;IoB97HA;MApFI,wBAaG;IpBwgIP;IoBj8HA;MApFI,0BAaG;IpB2gIP;IoBp8HA;MApFI,wBAaG;IpB8gIP;IoBv8HA;MApFI,wBAaG;IpBihIP;IoB18HA;MApFI,oBAaG;IpBohIP;IoB78HA;MApFI,0BAaG;IpBuhIP;IoBh9HA;MApFI,yBAaG;IpB0hIP;IoBn9HA;MApFI,uBAaG;IpB6hIP;IoBt9HA;MApFI,yBAaG;IpBgiIP;IoBz9HA;MApFI,uBAaG;IpBmiIP;IoB59HA;MApFI,uBAaG;IpBsiIP;IoB/9HA;MApFI,mBAaG;IpByiIP;IoBl+HA;MApFI,yBAaG;IpB4iIP;IoBr+HA;MApFI,wBAaG;IpB+iIP;IoBx+HA;MApFI,sBAaG;IpBkjIP;IoB3+HA;MApFI,wBAaG;IpBqjIP;IoB9+HA;MApFI,sBAaG;IpBwjIP;IoBj/HA;MApFI,sBAaG;IpB2jIP;IoBp/HA;MApFI,sBAaG;IpB8jIP;IoBv/HA;MApFI,4BAaG;IpBikIP;IoB1/HA;MApFI,2BAaG;IpBokIP;IoB7/HA;MApFI,yBAaG;IpBukIP;IoBhgIA;MApFI,2BAaG;IpB0kIP;IoBngIA;MApFI,yBAaG;IpB6kIP;IoBtgIA;MApFI,yBAaG;IpBglIP;IoBzgIA;MApFI,UAaG;IpBmlIP;IoB5gIA;MApFI,gBAaG;IpBslIP;IoB/gIA;MApFI,eAaG;IpBylIP;IoBlhIA;MApFI,aAaG;IpB4lIP;IoBrhIA;MApFI,eAaG;IpB+lIP;IoBxhIA;MApFI,aAaG;IpBkmIP;IoB3hIA;MApFI,iBAaG;IpBqmIP;IoB9hIA;MApFI,uBAaG;IpBwmIP;IoBjiIA;MApFI,sBAaG;IpB2mIP;IoBpiIA;MApFI,oBAaG;IpB8mIP;IoBviIA;MApFI,sBAaG;IpBinIP;IoB1iIA;MApFI,oBAaG;IpBonIP;IoB7iIA;MApFI,gBAaG;IpBunIP;IoBhjIA;MApFI,sBAaG;IpB0nIP;IoBnjIA;MApFI,qBAaG;IpB6nIP;IoBtjIA;MApFI,mBAaG;IpBgoIP;IoBzjIA;MApFI,qBAaG;IpBmoIP;IoB5jIA;MApFI,mBAaG;IpBsoIP;IoB/jIA;MApFI,sBAaG;IpByoIP;IoBlkIA;MApFI,4BAaG;IpB4oIP;IoBrkIA;MApFI,2BAaG;IpB+oIP;IoBxkIA;MApFI,yBAaG;IpBkpIP;IoB3kIA;MApFI,2BAaG;IpBqpIP;IoB9kIA;MApFI,yBAaG;IpBwpIP;IoBjlIA;MApFI,qBAaG;IpB2pIP;IoBplIA;MApFI,2BAaG;IpB8pIP;IoBvlIA;MApFI,0BAaG;IpBiqIP;IoB1lIA;MApFI,wBAaG;IpBoqIP;IoB7lIA;MApFI,0BAaG;IpBuqIP;IoBhmIA;MApFI,wBAaG;IpB0qIP;IoBnmIA;MApFI,oBAaG;IpB6qIP;IoBtmIA;MApFI,0BAaG;IpBgrIP;IoBzmIA;MApFI,yBAaG;IpBmrIP;IoB5mIA;MApFI,uBAaG;IpBsrIP;IoB/mIA;MApFI,yBAaG;IpByrIP;IoBlnIA;MApFI,uBAaG;IpB4rIP;IoBrnIA;MApFI,uBAaG;IpB+rIP;IoBxnIA;MApFI,6BAaG;IpBksIP;IoB3nIA;MApFI,4BAaG;IpBqsIP;IoB9nIA;MApFI,0BAaG;IpBwsIP;IoBjoIA;MApFI,4BAaG;IpB2sIP;IoBpoIA;MApFI,0BAaG;IpB8sIP;IoBvoIA;MApFI,MAaG;IpBitIP;IoB1oIA;MApFI,YAaG;IpBotIP;IoB7oIA;MApFI,WAaG;IpButIP;IoBhpIA;MApFI,SAaG;IpB0tIP;IoBnpIA;MApFI,WAaG;IpB6tIP;IoBtpIA;MApFI,SAaG;IpBguIP;IoBzpIA;MApFI,UAaG;IpBmuIP;IoB5pIA;MApFI,gBAaG;IpBsuIP;IoB/pIA;MApFI,eAaG;IpByuIP;IoBlqIA;MApFI,aAaG;IpB4uIP;IoBrqIA;MApFI,eAaG;IpB+uIP;IoBxqIA;MApFI,aAaG;IpBkvIP;IoB3qIA;MApFI,kBAaG;MAbH,aAaG;IpBqvIP;IoB9qIA;MApFI,wBAaG;MAbH,mBAaG;IpBwvIP;IoBjrIA;MApFI,uBAaG;MAbH,kBAaG;IpB2vIP;IoBprIA;MApFI,qBAaG;MAbH,gBAaG;IpB8vIP;IoBvrIA;MApFI,uBAaG;MAbH,kBAaG;IpBiwIP;IoB1rIA;MApFI,qBAaG;MAbH,gBAaG;IpBowIP;IoB7rIA;MApFI,iBAaG;IpBuwIP;IoBhsIA;MApFI,eAaG;IpB0wIP;IoBnsIA;MApFI,kBAaG;IpB6wIP;EACF;EWryIE;IS8FA;MApFI,mBAaG;IpBkxIP;IoB3sIA;MApFI,iBAaG;IpBqxIP;IoB9sIA;MApFI,WAaG;IpBwxIP;IoBjtIA;MApFI,sBAaG;MAbH,mBAaG;IpB2xIP;IoBptIA;MApFI,oBAaG;MAbH,iBAaG;IpB8xIP;IoBvtIA;MApFI,mBAaG;MAbH,gBAaG;IpBiyIP;IoB1tIA;MApFI,yBAaG;MAbH,sBAaG;IpBoyIP;IoB7tIA;MApFI,mBAaG;MAbH,gBAaG;IpBuyIP;IoBhuIA;MApFI,eAkBO;IpBqyIX;IoBnuIA;MApFI,qBAkBO;IpBwyIX;IoBtuIA;MApFI,cAkBO;IpB2yIX;IoBzuIA;MApFI,aAkBO;IpB8yIX;IoB5uIA;MApFI,oBAkBO;IpBizIX;IoB/uIA;MApFI,cAkBO;IpBozIX;IoBlvIA;MApFI,kBAkBO;IpBuzIX;IoBrvIA;MApFI,mBAkBO;IpB0zIX;IoBxvIA;MApFI,aAkBO;IpB6zIX;IoB3vIA;MApFI,oBAkBO;IpBg0IX;IoB9vIA;MApFI,iBAkBO;IpBm0IX;IoBjwIA;MApFI,kBAkBO;IpBs0IX;IoBpwIA;MApFI,aAkBO;IpBy0IX;IoBvwIA;MApFI,cAaG;IpBi1IP;IoB1wIA;MApFI,mBAkBO;IpB+0IX;IoB7wIA;MApFI,sBAkBO;IpBk1IX;IoBhxIA;MApFI,2BAkBO;IpBq1IX;IoBnxIA;MApFI,8BAkBO;IpBw1IX;IoBtxIA;MApFI,YAaG;IpBg2IP;IoBzxIA;MApFI,YAaG;IpBm2IP;IoB5xIA;MApFI,cAaG;IpBs2IP;IoB/xIA;MApFI,cAaG;IpBy2IP;IoBlyIA;MApFI,eAkBO;IpBu2IX;IoBryIA;MApFI,iBAkBO;IpB02IX;IoBxyIA;MApFI,uBAkBO;IpB62IX;IoB3yIA;MApFI,2BAaG;IpBq3IP;IoB9yIA;MApFI,yBAaG;IpBw3IP;IoBjzIA;MApFI,uBAaG;IpB23IP;IoBpzIA;MApFI,8BAaG;IpB83IP;IoBvzIA;MApFI,6BAaG;IpBi4IP;IoB1zIA;MApFI,6BAaG;IpBo4IP;IoB7zIA;MApFI,oBAaG;IpBu4IP;IoBh0IA;MApFI,kBAaG;IpB04IP;IoBn0IA;MApFI,qBAaG;IpB64IP;IoBt0IA;MApFI,sBAaG;IpBg5IP;IoBz0IA;MApFI,wBAaG;IpBm5IP;IoB50IA;MApFI,sBAaG;IpBs5IP;IoB/0IA;MApFI,oBAaG;IpBy5IP;IoBl1IA;MApFI,uBAaG;IpB45IP;IoBr1IA;MApFI,qBAaG;IpB+5IP;IoBx1IA;MApFI,mBAaG;IpBk6IP;IoB31IA;MApFI,qBAaG;IpBq6IP;IoB91IA;MApFI,oBAaG;IpBw6IP;IoBj2IA;MApFI,yBAaG;IpB26IP;IoBp2IA;MApFI,uBAaG;IpB86IP;IoBv2IA;MApFI,qBAaG;IpBi7IP;IoB12IA;MApFI,4BAaG;IpBo7IP;IoB72IA;MApFI,2BAaG;IpBu7IP;IoBh3IA;MApFI,sBAaG;IpB07IP;IoBn3IA;MApFI,gBAaG;IpB67IP;IoBt3IA;MApFI,sBAaG;IpBg8IP;IoBz3IA;MApFI,oBAaG;IpBm8IP;IoB53IA;MApFI,kBAaG;IpBs8IP;IoB/3IA;MApFI,oBAaG;IpBy8IP;IoBl4IA;MApFI,mBAaG;IpB48IP;IoBr4IA;MApFI,kBAaG;IpB+8IP;IoBx4IA;MApFI,gBAaG;IpBk9IP;IoB34IA;MApFI,mBAaG;IpBq9IP;IoB94IA;MApFI,oBAaG;IpBw9IP;IoBj5IA;MApFI,eAkBO;IpBs9IX;IoBp5IA;MApFI,eAkBO;IpBy9IX;IoBv5IA;MApFI,eAkBO;IpB49IX;IoB15IA;MApFI,mBAaG;IpBo+IP;IoB75IA;MApFI,mBAkBO;IpBk+IX;IoBh6IA;MApFI,sBAkBO;IpBq+IX;IoBn6IA;MApFI,qBAkBO;IpBw+IX;IoBt6IA;MApFI,SAaG;IpBg/IP;IoBz6IA;MApFI,QAaG;IpBm/IP;IoB56IA;MApFI,QAaG;IpBs/IP;IoB/6IA;MApFI,QAaG;IpBy/IP;IoBl7IA;MApFI,QAaG;IpB4/IP;IoBr7IA;MApFI,QAaG;IpB+/IP;IoBx7IA;MApFI,QAaG;IpBkgJP;IoB37IA;MApFI,QAaG;IpBqgJP;IoB97IA;MApFI,SAaG;IpBwgJP;IoBj8IA;MApFI,eAaG;IpB2gJP;IoBp8IA;MApFI,cAaG;IpB8gJP;IoBv8IA;MApFI,YAaG;IpBihJP;IoB18IA;MApFI,cAaG;IpBohJP;IoB78IA;MApFI,YAaG;IpBuhJP;IoBh9IA;MApFI,YAaG;IpB0hJP;IoBn9IA;MApFI,gBAaG;IpB6hJP;IoBt9IA;MApFI,sBAaG;IpBgiJP;IoBz9IA;MApFI,qBAaG;IpBmiJP;IoB59IA;MApFI,mBAaG;IpBsiJP;IoB/9IA;MApFI,qBAaG;IpByiJP;IoBl+IA;MApFI,mBAaG;IpB4iJP;IoBr+IA;MApFI,mBAaG;IpB+iJP;IoBx+IA;MApFI,eAaG;IpBkjJP;IoB3+IA;MApFI,qBAaG;IpBqjJP;IoB9+IA;MApFI,oBAaG;IpBwjJP;IoBj/IA;MApFI,kBAaG;IpB2jJP;IoBp/IA;MApFI,oBAaG;IpB8jJP;IoBv/IA;MApFI,kBAaG;IpBikJP;IoB1/IA;MApFI,kBAaG;IpBokJP;IoB7/IA;MApFI,qBAaG;IpBukJP;IoBhgJA;MApFI,2BAaG;IpB0kJP;IoBngJA;MApFI,0BAaG;IpB6kJP;IoBtgJA;MApFI,wBAaG;IpBglJP;IoBzgJA;MApFI,0BAaG;IpBmlJP;IoB5gJA;MApFI,wBAaG;IpBslJP;IoB/gJA;MApFI,wBAaG;IpBylJP;IoBlhJA;MApFI,oBAaG;IpB4lJP;IoBrhJA;MApFI,0BAaG;IpB+lJP;IoBxhJA;MApFI,yBAaG;IpBkmJP;IoB3hJA;MApFI,uBAaG;IpBqmJP;IoB9hJA;MApFI,yBAaG;IpBwmJP;IoBjiJA;MApFI,uBAaG;IpB2mJP;IoBpiJA;MApFI,uBAaG;IpB8mJP;IoBviJA;MApFI,mBAaG;IpBinJP;IoB1iJA;MApFI,yBAaG;IpBonJP;IoB7iJA;MApFI,wBAaG;IpBunJP;IoBhjJA;MApFI,sBAaG;IpB0nJP;IoBnjJA;MApFI,wBAaG;IpB6nJP;IoBtjJA;MApFI,sBAaG;IpBgoJP;IoBzjJA;MApFI,sBAaG;IpBmoJP;IoB5jJA;MApFI,sBAaG;IpBsoJP;IoB/jJA;MApFI,4BAaG;IpByoJP;IoBlkJA;MApFI,2BAaG;IpB4oJP;IoBrkJA;MApFI,yBAaG;IpB+oJP;IoBxkJA;MApFI,2BAaG;IpBkpJP;IoB3kJA;MApFI,yBAaG;IpBqpJP;IoB9kJA;MApFI,yBAaG;IpBwpJP;IoBjlJA;MApFI,UAaG;IpB2pJP;IoBplJA;MApFI,gBAaG;IpB8pJP;IoBvlJA;MApFI,eAaG;IpBiqJP;IoB1lJA;MApFI,aAaG;IpBoqJP;IoB7lJA;MApFI,eAaG;IpBuqJP;IoBhmJA;MApFI,aAaG;IpB0qJP;IoBnmJA;MApFI,iBAaG;IpB6qJP;IoBtmJA;MApFI,uBAaG;IpBgrJP;IoBzmJA;MApFI,sBAaG;IpBmrJP;IoB5mJA;MApFI,oBAaG;IpBsrJP;IoB/mJA;MApFI,sBAaG;IpByrJP;IoBlnJA;MApFI,oBAaG;IpB4rJP;IoBrnJA;MApFI,gBAaG;IpB+rJP;IoBxnJA;MApFI,sBAaG;IpBksJP;IoB3nJA;MApFI,qBAaG;IpBqsJP;IoB9nJA;MApFI,mBAaG;IpBwsJP;IoBjoJA;MApFI,qBAaG;IpB2sJP;IoBpoJA;MApFI,mBAaG;IpB8sJP;IoBvoJA;MApFI,sBAaG;IpBitJP;IoB1oJA;MApFI,4BAaG;IpBotJP;IoB7oJA;MApFI,2BAaG;IpButJP;IoBhpJA;MApFI,yBAaG;IpB0tJP;IoBnpJA;MApFI,2BAaG;IpB6tJP;IoBtpJA;MApFI,yBAaG;IpBguJP;IoBzpJA;MApFI,qBAaG;IpBmuJP;IoB5pJA;MApFI,2BAaG;IpBsuJP;IoB/pJA;MApFI,0BAaG;IpByuJP;IoBlqJA;MApFI,wBAaG;IpB4uJP;IoBrqJA;MApFI,0BAaG;IpB+uJP;IoBxqJA;MApFI,wBAaG;IpBkvJP;IoB3qJA;MApFI,oBAaG;IpBqvJP;IoB9qJA;MApFI,0BAaG;IpBwvJP;IoBjrJA;MApFI,yBAaG;IpB2vJP;IoBprJA;MApFI,uBAaG;IpB8vJP;IoBvrJA;MApFI,yBAaG;IpBiwJP;IoB1rJA;MApFI,uBAaG;IpBowJP;IoB7rJA;MApFI,uBAaG;IpBuwJP;IoBhsJA;MApFI,6BAaG;IpB0wJP;IoBnsJA;MApFI,4BAaG;IpB6wJP;IoBtsJA;MApFI,0BAaG;IpBgxJP;IoBzsJA;MApFI,4BAaG;IpBmxJP;IoB5sJA;MApFI,0BAaG;IpBsxJP;IoB/sJA;MApFI,MAaG;IpByxJP;IoBltJA;MApFI,YAaG;IpB4xJP;IoBrtJA;MApFI,WAaG;IpB+xJP;IoBxtJA;MApFI,SAaG;IpBkyJP;IoB3tJA;MApFI,WAaG;IpBqyJP;IoB9tJA;MApFI,SAaG;IpBwyJP;IoBjuJA;MApFI,UAaG;IpB2yJP;IoBpuJA;MApFI,gBAaG;IpB8yJP;IoBvuJA;MApFI,eAaG;IpBizJP;IoB1uJA;MApFI,aAaG;IpBozJP;IoB7uJA;MApFI,eAaG;IpBuzJP;IoBhvJA;MApFI,aAaG;IpB0zJP;IoBnvJA;MApFI,kBAaG;MAbH,aAaG;IpB6zJP;IoBtvJA;MApFI,wBAaG;MAbH,mBAaG;IpBg0JP;IoBzvJA;MApFI,uBAaG;MAbH,kBAaG;IpBm0JP;IoB5vJA;MApFI,qBAaG;MAbH,gBAaG;IpBs0JP;IoB/vJA;MApFI,uBAaG;MAbH,kBAaG;IpBy0JP;IoBlwJA;MApFI,qBAaG;MAbH,gBAaG;IpB40JP;IoBrwJA;MApFI,iBAaG;IpB+0JP;IoBxwJA;MApFI,eAaG;IpBk1JP;IoB3wJA;MApFI,kBAaG;IpBq1JP;EACF;EW72JE;IS8FA;MApFI,mBAaG;IpB01JP;IoBnxJA;MApFI,iBAaG;IpB61JP;IoBtxJA;MApFI,WAaG;IpBg2JP;IoBzxJA;MApFI,sBAaG;MAbH,mBAaG;IpBm2JP;IoB5xJA;MApFI,oBAaG;MAbH,iBAaG;IpBs2JP;IoB/xJA;MApFI,mBAaG;MAbH,gBAaG;IpBy2JP;IoBlyJA;MApFI,yBAaG;MAbH,sBAaG;IpB42JP;IoBryJA;MApFI,mBAaG;MAbH,gBAaG;IpB+2JP;IoBxyJA;MApFI,eAkBO;IpB62JX;IoB3yJA;MApFI,qBAkBO;IpBg3JX;IoB9yJA;MApFI,cAkBO;IpBm3JX;IoBjzJA;MApFI,aAkBO;IpBs3JX;IoBpzJA;MApFI,oBAkBO;IpBy3JX;IoBvzJA;MApFI,cAkBO;IpB43JX;IoB1zJA;MApFI,kBAkBO;IpB+3JX;IoB7zJA;MApFI,mBAkBO;IpBk4JX;IoBh0JA;MApFI,aAkBO;IpBq4JX;IoBn0JA;MApFI,oBAkBO;IpBw4JX;IoBt0JA;MApFI,iBAkBO;IpB24JX;IoBz0JA;MApFI,kBAkBO;IpB84JX;IoB50JA;MApFI,aAkBO;IpBi5JX;IoB/0JA;MApFI,cAaG;IpBy5JP;IoBl1JA;MApFI,mBAkBO;IpBu5JX;IoBr1JA;MApFI,sBAkBO;IpB05JX;IoBx1JA;MApFI,2BAkBO;IpB65JX;IoB31JA;MApFI,8BAkBO;IpBg6JX;IoB91JA;MApFI,YAaG;IpBw6JP;IoBj2JA;MApFI,YAaG;IpB26JP;IoBp2JA;MApFI,cAaG;IpB86JP;IoBv2JA;MApFI,cAaG;IpBi7JP;IoB12JA;MApFI,eAkBO;IpB+6JX;IoB72JA;MApFI,iBAkBO;IpBk7JX;IoBh3JA;MApFI,uBAkBO;IpBq7JX;IoBn3JA;MApFI,2BAaG;IpB67JP;IoBt3JA;MApFI,yBAaG;IpBg8JP;IoBz3JA;MApFI,uBAaG;IpBm8JP;IoB53JA;MApFI,8BAaG;IpBs8JP;IoB/3JA;MApFI,6BAaG;IpBy8JP;IoBl4JA;MApFI,6BAaG;IpB48JP;IoBr4JA;MApFI,oBAaG;IpB+8JP;IoBx4JA;MApFI,kBAaG;IpBk9JP;IoB34JA;MApFI,qBAaG;IpBq9JP;IoB94JA;MApFI,sBAaG;IpBw9JP;IoBj5JA;MApFI,wBAaG;IpB29JP;IoBp5JA;MApFI,sBAaG;IpB89JP;IoBv5JA;MApFI,oBAaG;IpBi+JP;IoB15JA;MApFI,uBAaG;IpBo+JP;IoB75JA;MApFI,qBAaG;IpBu+JP;IoBh6JA;MApFI,mBAaG;IpB0+JP;IoBn6JA;MApFI,qBAaG;IpB6+JP;IoBt6JA;MApFI,oBAaG;IpBg/JP;IoBz6JA;MApFI,yBAaG;IpBm/JP;IoB56JA;MApFI,uBAaG;IpBs/JP;IoB/6JA;MApFI,qBAaG;IpBy/JP;IoBl7JA;MApFI,4BAaG;IpB4/JP;IoBr7JA;MApFI,2BAaG;IpB+/JP;IoBx7JA;MApFI,sBAaG;IpBkgKP;IoB37JA;MApFI,gBAaG;IpBqgKP;IoB97JA;MApFI,sBAaG;IpBwgKP;IoBj8JA;MApFI,oBAaG;IpB2gKP;IoBp8JA;MApFI,kBAaG;IpB8gKP;IoBv8JA;MApFI,oBAaG;IpBihKP;IoB18JA;MApFI,mBAaG;IpBohKP;IoB78JA;MApFI,kBAaG;IpBuhKP;IoBh9JA;MApFI,gBAaG;IpB0hKP;IoBn9JA;MApFI,mBAaG;IpB6hKP;IoBt9JA;MApFI,oBAaG;IpBgiKP;IoBz9JA;MApFI,eAkBO;IpB8hKX;IoB59JA;MApFI,eAkBO;IpBiiKX;IoB/9JA;MApFI,eAkBO;IpBoiKX;IoBl+JA;MApFI,mBAaG;IpB4iKP;IoBr+JA;MApFI,mBAkBO;IpB0iKX;IoBx+JA;MApFI,sBAkBO;IpB6iKX;IoB3+JA;MApFI,qBAkBO;IpBgjKX;IoB9+JA;MApFI,SAaG;IpBwjKP;IoBj/JA;MApFI,QAaG;IpB2jKP;IoBp/JA;MApFI,QAaG;IpB8jKP;IoBv/JA;MApFI,QAaG;IpBikKP;IoB1/JA;MApFI,QAaG;IpBokKP;IoB7/JA;MApFI,QAaG;IpBukKP;IoBhgKA;MApFI,QAaG;IpB0kKP;IoBngKA;MApFI,QAaG;IpB6kKP;IoBtgKA;MApFI,SAaG;IpBglKP;IoBzgKA;MApFI,eAaG;IpBmlKP;IoB5gKA;MApFI,cAaG;IpBslKP;IoB/gKA;MApFI,YAaG;IpBylKP;IoBlhKA;MApFI,cAaG;IpB4lKP;IoBrhKA;MApFI,YAaG;IpB+lKP;IoBxhKA;MApFI,YAaG;IpBkmKP;IoB3hKA;MApFI,gBAaG;IpBqmKP;IoB9hKA;MApFI,sBAaG;IpBwmKP;IoBjiKA;MApFI,qBAaG;IpB2mKP;IoBpiKA;MApFI,mBAaG;IpB8mKP;IoBviKA;MApFI,qBAaG;IpBinKP;IoB1iKA;MApFI,mBAaG;IpBonKP;IoB7iKA;MApFI,mBAaG;IpBunKP;IoBhjKA;MApFI,eAaG;IpB0nKP;IoBnjKA;MApFI,qBAaG;IpB6nKP;IoBtjKA;MApFI,oBAaG;IpBgoKP;IoBzjKA;MApFI,kBAaG;IpBmoKP;IoB5jKA;MApFI,oBAaG;IpBsoKP;IoB/jKA;MApFI,kBAaG;IpByoKP;IoBlkKA;MApFI,kBAaG;IpB4oKP;IoBrkKA;MApFI,qBAaG;IpB+oKP;IoBxkKA;MApFI,2BAaG;IpBkpKP;IoB3kKA;MApFI,0BAaG;IpBqpKP;IoB9kKA;MApFI,wBAaG;IpBwpKP;IoBjlKA;MApFI,0BAaG;IpB2pKP;IoBplKA;MApFI,wBAaG;IpB8pKP;IoBvlKA;MApFI,wBAaG;IpBiqKP;IoB1lKA;MApFI,oBAaG;IpBoqKP;IoB7lKA;MApFI,0BAaG;IpBuqKP;IoBhmKA;MApFI,yBAaG;IpB0qKP;IoBnmKA;MApFI,uBAaG;IpB6qKP;IoBtmKA;MApFI,yBAaG;IpBgrKP;IoBzmKA;MApFI,uBAaG;IpBmrKP;IoB5mKA;MApFI,uBAaG;IpBsrKP;IoB/mKA;MApFI,mBAaG;IpByrKP;IoBlnKA;MApFI,yBAaG;IpB4rKP;IoBrnKA;MApFI,wBAaG;IpB+rKP;IoBxnKA;MApFI,sBAaG;IpBksKP;IoB3nKA;MApFI,wBAaG;IpBqsKP;IoB9nKA;MApFI,sBAaG;IpBwsKP;IoBjoKA;MApFI,sBAaG;IpB2sKP;IoBpoKA;MApFI,sBAaG;IpB8sKP;IoBvoKA;MApFI,4BAaG;IpBitKP;IoB1oKA;MApFI,2BAaG;IpBotKP;IoB7oKA;MApFI,yBAaG;IpButKP;IoBhpKA;MApFI,2BAaG;IpB0tKP;IoBnpKA;MApFI,yBAaG;IpB6tKP;IoBtpKA;MApFI,yBAaG;IpBguKP;IoBzpKA;MApFI,UAaG;IpBmuKP;IoB5pKA;MApFI,gBAaG;IpBsuKP;IoB/pKA;MApFI,eAaG;IpByuKP;IoBlqKA;MApFI,aAaG;IpB4uKP;IoBrqKA;MApFI,eAaG;IpB+uKP;IoBxqKA;MApFI,aAaG;IpBkvKP;IoB3qKA;MApFI,iBAaG;IpBqvKP;IoB9qKA;MApFI,uBAaG;IpBwvKP;IoBjrKA;MApFI,sBAaG;IpB2vKP;IoBprKA;MApFI,oBAaG;IpB8vKP;IoBvrKA;MApFI,sBAaG;IpBiwKP;IoB1rKA;MApFI,oBAaG;IpBowKP;IoB7rKA;MApFI,gBAaG;IpBuwKP;IoBhsKA;MApFI,sBAaG;IpB0wKP;IoBnsKA;MApFI,qBAaG;IpB6wKP;IoBtsKA;MApFI,mBAaG;IpBgxKP;IoBzsKA;MApFI,qBAaG;IpBmxKP;IoB5sKA;MApFI,mBAaG;IpBsxKP;IoB/sKA;MApFI,sBAaG;IpByxKP;IoBltKA;MApFI,4BAaG;IpB4xKP;IoBrtKA;MApFI,2BAaG;IpB+xKP;IoBxtKA;MApFI,yBAaG;IpBkyKP;IoB3tKA;MApFI,2BAaG;IpBqyKP;IoB9tKA;MApFI,yBAaG;IpBwyKP;IoBjuKA;MApFI,qBAaG;IpB2yKP;IoBpuKA;MApFI,2BAaG;IpB8yKP;IoBvuKA;MApFI,0BAaG;IpBizKP;IoB1uKA;MApFI,wBAaG;IpBozKP;IoB7uKA;MApFI,0BAaG;IpBuzKP;IoBhvKA;MApFI,wBAaG;IpB0zKP;IoBnvKA;MApFI,oBAaG;IpB6zKP;IoBtvKA;MApFI,0BAaG;IpBg0KP;IoBzvKA;MApFI,yBAaG;IpBm0KP;IoB5vKA;MApFI,uBAaG;IpBs0KP;IoB/vKA;MApFI,yBAaG;IpBy0KP;IoBlwKA;MApFI,uBAaG;IpB40KP;IoBrwKA;MApFI,uBAaG;IpB+0KP;IoBxwKA;MApFI,6BAaG;IpBk1KP;IoB3wKA;MApFI,4BAaG;IpBq1KP;IoB9wKA;MApFI,0BAaG;IpBw1KP;IoBjxKA;MApFI,4BAaG;IpB21KP;IoBpxKA;MApFI,0BAaG;IpB81KP;IoBvxKA;MApFI,MAaG;IpBi2KP;IoB1xKA;MApFI,YAaG;IpBo2KP;IoB7xKA;MApFI,WAaG;IpBu2KP;IoBhyKA;MApFI,SAaG;IpB02KP;IoBnyKA;MApFI,WAaG;IpB62KP;IoBtyKA;MApFI,SAaG;IpBg3KP;IoBzyKA;MApFI,UAaG;IpBm3KP;IoB5yKA;MApFI,gBAaG;IpBs3KP;IoB/yKA;MApFI,eAaG;IpBy3KP;IoBlzKA;MApFI,aAaG;IpB43KP;IoBrzKA;MApFI,eAaG;IpB+3KP;IoBxzKA;MApFI,aAaG;IpBk4KP;IoB3zKA;MApFI,kBAaG;MAbH,aAaG;IpBq4KP;IoB9zKA;MApFI,wBAaG;MAbH,mBAaG;IpBw4KP;IoBj0KA;MApFI,uBAaG;MAbH,kBAaG;IpB24KP;IoBp0KA;MApFI,qBAaG;MAbH,gBAaG;IpB84KP;IoBv0KA;MApFI,uBAaG;MAbH,kBAaG;IpBi5KP;IoB10KA;MApFI,qBAaG;MAbH,gBAaG;IpBo5KP;IoB70KA;MApFI,iBAaG;IpBu5KP;IoBh1KA;MApFI,eAaG;IpB05KP;IoBn1KA;MApFI,kBAaG;IpB65KP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer helpers {\n  .text-bg-primary {\n    color: var(--bs-primary-text);\n    --bs-bg: var(--bs-primary-bg-subtle);\n  }\n  .text-bg-accent {\n    color: var(--bs-accent-text);\n    --bs-bg: var(--bs-accent-bg-subtle);\n  }\n  .text-bg-success {\n    color: var(--bs-success-text);\n    --bs-bg: var(--bs-success-bg-subtle);\n  }\n  .text-bg-danger {\n    color: var(--bs-danger-text);\n    --bs-bg: var(--bs-danger-bg-subtle);\n  }\n  .text-bg-warning {\n    color: var(--bs-warning-text);\n    --bs-bg: var(--bs-warning-bg-subtle);\n  }\n  .text-bg-info {\n    color: var(--bs-info-text);\n    --bs-bg: var(--bs-info-bg-subtle);\n  }\n  .text-bg-inverse {\n    color: var(--bs-inverse-text);\n    --bs-bg: var(--bs-inverse-bg-subtle);\n  }\n  .text-bg-secondary {\n    color: var(--bs-secondary-text);\n    --bs-bg: var(--bs-secondary-bg-subtle);\n  }\n}\n@layer helpers {\n  .link-primary {\n    --bs-link-color: var(--bs-primary-text);\n  }\n  .link-primary:hover, .link-primary:focus {\n    --bs-link-color: var(--bs-primary-text-emphasis);\n    --bs-link-hover-color: var(--bs-primary-text-emphasis);\n  }\n  .link-accent {\n    --bs-link-color: var(--bs-accent-text);\n  }\n  .link-accent:hover, .link-accent:focus {\n    --bs-link-color: var(--bs-accent-text-emphasis);\n    --bs-link-hover-color: var(--bs-accent-text-emphasis);\n  }\n  .link-success {\n    --bs-link-color: var(--bs-success-text);\n  }\n  .link-success:hover, .link-success:focus {\n    --bs-link-color: var(--bs-success-text-emphasis);\n    --bs-link-hover-color: var(--bs-success-text-emphasis);\n  }\n  .link-danger {\n    --bs-link-color: var(--bs-danger-text);\n  }\n  .link-danger:hover, .link-danger:focus {\n    --bs-link-color: var(--bs-danger-text-emphasis);\n    --bs-link-hover-color: var(--bs-danger-text-emphasis);\n  }\n  .link-warning {\n    --bs-link-color: var(--bs-warning-text);\n  }\n  .link-warning:hover, .link-warning:focus {\n    --bs-link-color: var(--bs-warning-text-emphasis);\n    --bs-link-hover-color: var(--bs-warning-text-emphasis);\n  }\n  .link-info {\n    --bs-link-color: var(--bs-info-text);\n  }\n  .link-info:hover, .link-info:focus {\n    --bs-link-color: var(--bs-info-text-emphasis);\n    --bs-link-hover-color: var(--bs-info-text-emphasis);\n  }\n  .link-inverse {\n    --bs-link-color: var(--bs-inverse-text);\n  }\n  .link-inverse:hover, .link-inverse:focus {\n    --bs-link-color: var(--bs-inverse-text-emphasis);\n    --bs-link-hover-color: var(--bs-inverse-text-emphasis);\n  }\n  .link-secondary {\n    --bs-link-color: var(--bs-secondary-text);\n  }\n  .link-secondary:hover, .link-secondary:focus {\n    --bs-link-color: var(--bs-secondary-text-emphasis);\n    --bs-link-hover-color: var(--bs-secondary-text-emphasis);\n  }\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));\n  }\n  .link-body-emphasis:hover, .link-body-emphasis:focus {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));\n  }\n}\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: 0.25;\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $new-theme-colors {\n    .text-bg-#{$color} {\n      color: var(--#{$prefix}#{$color}-text);\n      --#{$prefix}bg: var(--#{$prefix}#{$color}-bg-subtle);\n      // color: color-contrast($value);\n      // background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1));\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n\n@layer helpers {\n  @each $color, $value in $new-theme-colors {\n    .link-#{$color} {\n      --#{$prefix}link-color: var(--#{$prefix}#{$color}-text);\n      // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          --#{$prefix}link-color: var(--#{$prefix}#{$color}-text-emphasis);\n          --#{$prefix}link-hover-color: var(--#{$prefix}#{$color}-text-emphasis);\n          // $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          // color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--#{$prefix}gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--#{$prefix}gray-100) !default;\n// $dark:          var(--#{$prefix}gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// $prefix:                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--#{$prefix}color-body) !default;\n$body-bg:                   var(--#{$prefix}bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--#{$prefix}gray-100), var(--#{$prefix}gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--#{$prefix}primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--#{$prefix}primary-contrast) !default;\n$component-active-bg:         var(--#{$prefix}primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--#{$prefix}font-size-3xl) !default;\n$h2-font-size: var(--#{$prefix}font-size-2xl) !default;\n$h3-font-size: var(--#{$prefix}font-size-xl) !default;\n$h4-font-size: var(--#{$prefix}font-size-lg) !default;\n$h5-font-size: var(--#{$prefix}font-size-md) !default;\n$h6-font-size: var(--#{$prefix}font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--#{$prefix}font-size-xs),\n    \"line-height\": var(--#{$prefix}line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--#{$prefix}font-size-sm),\n    \"line-height\": var(--#{$prefix}line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--#{$prefix}font-size-md),\n    \"line-height\": var(--#{$prefix}line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--#{$prefix}font-size-lg),\n    \"line-height\": var(--#{$prefix}line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--#{$prefix}font-size-xl),\n    \"line-height\": var(--#{$prefix}line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--#{$prefix}font-size-2xl),\n    \"line-height\": var(--#{$prefix}line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--#{$prefix}font-size-3xl),\n    \"line-height\": var(--#{$prefix}line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--#{$prefix}font-size-4xl),\n    \"line-height\": var(--#{$prefix}line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--#{$prefix}font-size-5xl),\n    \"line-height\": var(--#{$prefix}line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--#{$prefix}font-size-6xl),\n    \"line-height\": var(--#{$prefix}line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--#{$prefix}gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--#{$prefix}yellow-100) !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-font-family:       null !default;\n$input-btn-font-size:         $font-size-base !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:         .25em !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color:         $focus-ring-color !default;\n$input-btn-focus-blur:          $focus-ring-blur !default;\n$input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-font-size-sm:      $font-size-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-font-size-lg:      $font-size-lg !default;\n\n$input-btn-border-width:      var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}color-body) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     var(--#{$prefix}gray-600) !default;\n// $btn-link-color-contrast:     color-contrast($link-color) !default;\n// $btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end btn-variables\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--#{$prefix}border-color-translucent) !default;\n$offcanvas-border-width:            var(--#{$prefix}border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--#{$prefix}bg-body) !default;\n$offcanvas-color:                   var(--#{$prefix}color-body) !default;\n$offcanvas-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--#{$prefix}secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--#{$prefix}bg-body) !default;\n$kbd-bg:                            var(--#{$prefix}color-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--#{$prefix}gray-200) !default;\n// $body-bg-dark:                      var(--#{$prefix}gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--#{$prefix}gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--#{$prefix}gray-800), var(--#{$prefix}gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--#{$prefix}gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--#{$prefix}yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--#{$prefix}green-300) !default;\n$form-valid-border-color-dark:      var(--#{$prefix}green-300) !default;\n$form-invalid-color-dark:           var(--#{$prefix}red-300) !default;\n$form-invalid-border-color-dark:    var(--#{$prefix}red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-utilities.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_variables.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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GI,iBAgBG;ElBimCT;EkBvgCE;IA1GI,cAgBG;ElBomCT;EkB1gCE;IA1GI,mBAqBO;ElBkmCb;EkB7gCE;IA1GI,sBAqBO;ElBqmCb;EkBhhCE;IA1GI,2BAqBO;ElBwmCb;EkBnhCE;IA1GI,8BAqBO;ElB2mCb;EkBthCE;IA1GI,YAgBG;ElBmnCT;EkBzhCE;IA1GI,YAgBG;ElBsnCT;EkB5hCE;IA1GI,cAgBG;ElBynCT;EkB/hCE;IA1GI,cAgBG;ElB4nCT;EkBliCE;IA1GI,eAqBO;ElB0nCb;EkBriCE;IA1GI,iBAqBO;ElB6nCb;EkBxiCE;IA1GI,uBAqBO;ElBgoCb;EkB3iCE;IA1GI,2BAgBG;ElBwoCT;EkB9iCE;IA1GI,yBAgBG;ElB2oCT;EkBjjCE;IA1GI,uBAgBG;ElB8oCT;EkBpjCE;IA1GI,8BAgBG;ElBipCT;EkBvjCE;IA1GI,6BAgBG;ElBopCT;EkB1jCE;IA1GI,6BAgBG;ElBupCT;EkB7jCE;IA1GI,oBAgBG;ElB0pCT;EkBhkCE;IA1GI,kBAgBG;ElB6pCT;EkBnkCE;IA1GI,qBAgBG;ElBgqCT;EkBtkCE;IA1GI,sBAgBG;ElBmqCT;EkBzkCE;IA1GI,wBAgBG;ElBsqCT;EkB5kCE;IA1GI,sBAgBG;ElByqCT;EkB/kCE;IA1GI,oBAgBG;ElB4qCT;EkBllCE;IA1GI,uBAgBG;ElB+qCT;EkBrlCE;IA1GI,qBAgBG;ElBkrCT;EkBxlCE;IA1GI,mBAgBG;ElBqrCT;EkB3lCE;IA1GI,qBAgBG;ElBwrCT;EkB9lCE;IA1GI,oBAgBG;ElB2rCT;EkBjmCE;IA1GI,yBAgBG;ElB8rCT;EkBpmCE;IA1GI,uBAgBG;ElBisCT;EkBvmCE;IA1GI,qBAgBG;ElBosCT;EkB1mCE;IA1GI,4BAgBG;ElBusCT;EkB7mCE;IA1GI,2BAgBG;ElB0sCT;EkBhnCE;IA1GI,sBAgBG;ElB6sCT;EkBnnCE;IA1GI,gBAgBG;ElBgtCT;EkBtnCE;IA1GI,sBAgBG;ElBmtCT;EkBznCE;IA1GI,oBAgBG;ElBstCT;EkB5nCE;IA1GI,kBAgBG;ElBytCT;EkB/nCE;IA1GI,oBAgBG;ElB4tCT;EkBloCE;IA1GI,mBAgBG;ElB+tCT;EkBroCE;IA1GI,kBAgBG;ElBkuCT;EkBxoCE;IA1GI,gBAgBG;ElBquCT;EkB3oCE;IA1GI,mBAgBG;ElBwuCT;EkB9oCE;IA1GI,oBAgBG;ElB2uCT;EkBjpCE;IA1GI,eAqBO;ElByuCb;EkBppCE;IA1GI,eAqBO;ElB4uCb;EkBvpCE;IA1GI,eAqBO;ElB+uCb;EkB1pCE;IA1GI,mBAgBG;ElBuvCT;EkB7pCE;IA1GI,mBAqBO;ElBqvCb;EkBhqCE;IA1GI,sBAqBO;ElBwvCb;EkBnqCE;IA1GI,qBAqBO;ElB2vCb;EkBtqCE;IA1GI,SAgBG;ElBmwCT;EkBzqCE;IA1GI,QAgBG;ElBswCT;EkB5qCE;IA1GI,QAgBG;ElBywCT;EkB/qCE;IA1GI,QAgBG;ElB4wCT;EkBlrCE;IA1GI,QAgBG;ElB+wCT;EkBrrCE;IA1GI,QAgBG;ElBkxCT;EkBxrCE;IA1GI,QAgBG;ElBqxCT;EkB3rCE;IA1GI,QAgBG;ElBwxCT;EkB9rCE;IA1GI,SAgBG;ElB2xCT;EkBjsCE;IA1GI,eAgBG;ElB8xCT;EkBpsCE;IA1GI,cAgBG;ElBiyCT;EkBvsCE;IA1GI,YAgBG;ElBoyCT;EkB1sCE;IA1GI,cAgBG;ElBuyCT;EkB7sCE;IA1GI,YAgBG;ElB0yCT;EkBhtCE;IA1GI,YAgBG;ElB6yCT;EkBntCE;IA1GI,gBAgBG;ElBgzCT;EkBttCE;IA1GI,sBAgBG;ElBmzCT;EkBztCE;IA1GI,qBAgBG;ElBszCT;EkB5tCE;IA1GI,mBAgBG;ElByzCT;EkB/tCE;IA1GI,qBAgBG;ElB4zCT;EkBluCE;IA1GI,mBAgBG;ElB+zCT;EkBruCE;IA1GI,mBAgBG;ElBk0CT;EkBxuCE;IA1GI,eAgBG;ElBq0CT;EkB3uCE;IA1GI,qBAgBG;ElBw0CT;EkB9uCE;IA1GI,oBAgBG;ElB20CT;EkBjvCE;IA1GI,kBAgBG;ElB80CT;EkBpvCE;IA1GI,oBAgBG;ElBi1CT;EkBvvCE;IA1GI,kBAgBG;ElBo1CT;EkB1vCE;IA1GI,kBAgBG;ElBu1CT;EkB7vCE;IA1GI,qBAgBG;ElB01CT;EkBhwCE;IA1GI,2BAgBG;ElB61CT;EkBnwCE;IA1GI,0BAgBG;ElBg2CT;EkBtwCE;IA1GI,wBAgBG;ElBm2CT;EkBzwCE;IA1GI,0BAgBG;ElBs2CT;EkB5wCE;IA1GI,wBAgBG;ElBy2CT;EkB/wCE;IA1GI,wBAgBG;ElB42CT;EkBlxCE;IA1GI,oBAgBG;ElB+2CT;EkBrxCE;IA1GI,0BAgBG;ElBk3CT;EkBxxCE;IA1GI,yBAgBG;ElBq3CT;EkB3xCE;IA1GI,uBAgBG;ElBw3CT;EkB9xCE;IA1GI,yBAgBG;ElB23CT;EkBjyCE;IA1GI,uBAgBG;ElB83CT;EkBpyCE;IA1GI,uBAgBG;ElBi4CT;EkBvyCE;IA1GI,mBAgBG;ElBo4CT;EkB1yCE;IA1GI,yBAgBG;ElBu4CT;EkB7yCE;IA1GI,wBAgBG;ElB04CT;EkBhzCE;IA1GI,sBAgBG;ElB64CT;EkBnzCE;IA1GI,wBAgBG;ElBg5CT;EkBtzCE;IA1GI,sBAgBG;ElBm5CT;EkBzzCE;IA1GI,sBAgBG;ElBs5CT;EkB5zCE;IA1GI,sBAgBG;ElBy5CT;EkB/zCE;IA1GI,4BAgBG;ElB45CT;EkBl0CE;IA1GI,2BAgBG;ElB+5CT;EkBr0CE;IA1GI,yBAgBG;ElBk6CT;EkBx0CE;IA1GI,2BAgBG;ElBq6CT;EkB30CE;IA1GI,yBAgBG;ElBw6CT;EkB90CE;IA1GI,yBAgBG;ElB26CT;EkBj1CE;IA1GI,UAgBG;ElB86CT;EkBp1CE;IA1GI,gBAgBG;ElBi7CT;EkBv1CE;IA1GI,eAgBG;ElBo7CT;EkB11CE;IA1GI,aAgBG;ElBu7CT;EkB71CE;IA1GI,eAgBG;ElB07CT;EkBh2CE;IA1GI,aAgBG;ElB67CT;EkBn2CE;IA1GI,iBAgBG;ElBg8CT;EkBt2CE;IA1GI,uBAgBG;ElBm8CT;EkBz2CE;IA1GI,sBAgBG;ElBs8CT;EkB52CE;IA1GI,oBAgBG;ElBy8CT;EkB/2CE;IA1GI,sBAgBG;ElB48CT;EkBl3CE;IA1GI,oBAgBG;ElB+8CT;EkBr3CE;IA1GI,gBAgBG;ElBk9CT;EkBx3CE;IA1GI,sBAgBG;ElBq9CT;EkB33CE;IA1GI,qBAgBG;ElBw9CT;EkB93CE;IA1GI,mBAgBG;ElB29CT;EkBj4CE;IA1GI,qBAgBG;ElB89CT;EkBp4CE;IA1GI,mBAgBG;ElBi+CT;EkBv4CE;IA1GI,sBAgBG;ElBo+CT;EkB14CE;IA1GI,4BAgBG;ElBu+CT;EkB74CE;IA1GI,2BAgBG;ElB0+CT;EkBh5CE;IA1GI,yBAgBG;ElB6+CT;EkBn5CE;IA1GI,2BAgBG;ElBg/CT;EkBt5CE;IA1GI,yBAgBG;ElBm/CT;EkBz5CE;IA1GI,qBAgBG;ElBs/CT;EkB55CE;IA1GI,2BAgBG;ElBy/CT;EkB/5CE;IA1GI,0BAgBG;ElB4/CT;EkBl6CE;IA1GI,wBAgBG;ElB+/CT;EkBr6CE;IA1GI,0BAgBG;ElBkgDT;EkBx6CE;IA1GI,wBAgBG;ElBqgDT;EkB36CE;IA1GI,oBAgBG;ElBwgDT;EkB96CE;IA1GI,0BAgBG;ElB2gDT;EkBj7CE;IA1GI,yBAgBG;ElB8gDT;EkBp7CE;IA1GI,uBAgBG;ElBihDT;EkBv7CE;IA1GI,yBAgBG;ElBohDT;EkB17CE;IA1GI,uBAgBG;ElBuhDT;EkB77CE;IA1GI,uBAgBG;ElB0hDT;EkBh8CE;IA1GI,6BAgBG;ElB6hDT;EkBn8CE;IA1GI,4BAgBG;ElBgiDT;EkBt8CE;IA1GI,0BAgBG;ElBmiDT;EkBz8CE;IA1GI,4BAgBG;ElBsiDT;EkB58CE;IA1GI,0BAgBG;ElByiDT;EkB/8CE;IA1GI,MAgBG;ElB4iDT;EkBl9CE;IA1GI,YAgBG;ElB+iDT;EkBr9CE;IA1GI,WAgBG;ElBkjDT;EkBx9CE;IA1GI,SAgBG;ElBqjDT;EkB39CE;IA1GI,WAgBG;ElBwjDT;EkB99CE;IA1GI,SAgBG;ElB2jDT;EkBj+CE;IA1GI,UAgBG;ElB8jDT;EkBp+CE;IA1GI,gBAgBG;ElBikDT;EkBv+CE;IA1GI,eAgBG;ElBokDT;EkB1+CE;IA1GI,aAgBG;ElBukDT;EkB7+CE;IA1GI,eAgBG;ElB0kDT;EkBh/CE;IA1GI,aAgBG;ElB6kDT;EkBn/CE;IA1GI,kBAgBG;IAhBH,aAgBG;ElBglDT;EkBt/CE;IA1GI,wBAgBG;IAhBH,mBAgBG;ElBmlDT;EkBz/CE;IA1GI,uBAgBG;IAhBH,kBAgBG;ElBslDT;EkB5/CE;IA1GI,qBAgBG;IAhBH,gBAgBG;ElBylDT;EkB//CE;IA1GI,uBAgBG;IAhBH,kBAgBG;ElB4lDT;EkBlgDE;IA1GI,qBAgBG;IAhBH,gBAgBG;ElB+lDT;EkBrgDE;IA1GI,qCAgBG;ElBkmDT;EkBxgDE;IA1GI,sCAgBG;ElBqmDT;EkB3gDE;IA1GI,iCAgBG;ElBwmDT;EkB9gDE;IA1GI,iCAgBG;ElB2mDT;EkBjhDE;IA1GI,iCAgBG;ElB8mDT;EkBphDE;IA1GI,iCAgBG;ElBinDT;EkBvhDE;IA1GI,iCAgBG;ElBonDT;EkB1hDE;IA1GI,kCAgBG;ElBunDT;EkB7hDE;IA1GI,kCAgBG;ElB0nDT;EkBhiDE;IA1GI,kCAgBG;ElB6nDT;EkBniDE;IA1GI,kCAgBG;ElBgoDT;EkBtiDE;IA1GI,kCAgBG;ElBmoDT;EkBziDE;IAnHI,iCAPc;IAOd,qCAPc;ElBuqDpB;EkB7iDE;IAnHI,iCAPc;IAOd,qCAPc;ElB2qDpB;EkBjjDE;IAnHI,iCAPc;IAOd,qCAPc;ElB+qDpB;EkBrjDE;IAnHI,iCAPc;IAOd,qCAPc;ElBmrDpB;EkBzjDE;IAnHI,iCAPc;IAOd,qCAPc;ElBurDpB;EkB7jDE;IAnHI,kCAPc;IAOd,sCAPc;ElB2rDpB;EkBjkDE;IAnHI,kCAPc;IAOd,sCAPc;ElB+rDpB;EkBrkDE;IAnHI,kCAPc;IAOd,sCAPc;ElBmsDpB;EkBzkDE;IAnHI,kCAPc;IAOd,sCAPc;ElBusDpB;EkB7kDE;IAnHI,kCAPc;IAOd,sCAPc;ElB2sDpB;EkBjlDE;IA1GI,kBAqBO;ElByqDb;EkBplDE;IA1GI,kBAqBO;ElB4qDb;EkBvlDE;IA1GI,oBAgBG;ElBorDT;EkB1lDE;IA1GI,gBAgBG;ElBurDT;EkB7lDE;IA1GI,gBAgBG;ElB0rDT;EkBhmDE;IA1GI,gBAgBG;ElB6rDT;EkBnmDE;IA1GI,gBAgBG;ElBgsDT;EkBtmDE;IA1GI,gBAgBG;ElBmsDT;EkBzmDE;IA1GI,mBAgBG;ElBssDT;EkB5mDE;IA1GI,cAgBG;ElBysDT;EkB/mDE;IA1GI,iBAgBG;ElB4sDT;EkBlnDE;IA1GI,gBAgBG;ElB+sDT;EkBrnDE;IA1GI,cAgBG;ElBktDT;EkBxnDE;IA1GI,iBAgBG;ElBqtDT;EkB3nDE;IA1GI,eAgBG;ElBwtDT;EkB9nDE;IA1GI,kBAgBG;ElB2tDT;EkBjoDE;IA1GI,qBAqBO;ElBytDb;EkBpoDE;IA1GI,0BAqBO;ElB4tDb;EkBvoDE;IA1GI,6BAqBO;ElB+tDb;EkB1oDE;IA1GI,yBAqBO;ElBkuDb;EkB7oDE;IA1GI,yBAqBO;ElBquDb;EkBhpDE;IA1GI,0BAqBO;ElBwuDb;EkBnpDE;IA1GI,iBAqBO;ElB2uDb;EkBtpDE;IA1GI,mBAqBO;ElB8uDb;EkBzpDE;IA1GI,oBAqBO;ElBivDb;EkB5pDE;IA1GI,mBAqBO;ElBovDb;EkB/pDE;IA1GI,qBAgBG;IAhBH,sBAgBG;ElB6vDT;EkBnqDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB+uDf;EkBvqDE;IAnHI,0GAyBG;IAzBH,mBA2CS;ElBmvDf;EkB3qDE;IAnHI,6DAyBG;IAzBH,mBA2CS;ElBuvDf;EkB/qDE;IAnHI,yDAyBG;IAzBH,mBA2CS;ElB2vDf;EkBnrDE;IAnHI,+DAyBG;IAzBH,mBA2CS;ElB+vDf;EkBvrDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElBmwDf;EkB3rDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElBuwDf;EkB/rDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB2wDf;EkBnsDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB+wDf;EkBvsDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElBmxDf;EkB3sDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElBuxDf;EkB/sDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB2xDf;EkBntDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB+xDf;EkBvtDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElBmyDf;EkB3tDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElBuyDf;EkB/tDE;IAnHI,gBAyBG;IAzBH,mBA2CS;ElB2yDf;EkBnuDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB+yDf;EkBvuDE;IAnHI,+DAyBG;IAzBH,mBA2CS;ElBmzDf;EkB3uDE;IAnHI,6DAyBG;IAzBH,mBA2CS;ElBuzDf;EkB/uDE;IAnHI,yDAyBG;IAzBH,mBA2CS;ElB2zDf;EkBnvDE;IAnHI,+DAyBG;IAzBH,mBA2CS;ElB+zDf;EkBvvDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElBm0Df;EkB3vDE;IAnHI,wDAyBG;IAzBH,mBA2CS;ElBu0Df;EkB/vDE;IAnHI,2DAyBG;IAzBH,mBA2CS;ElB20Df;EkBnwDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElB+0Df;EkBvwDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElBm1Df;EkB3wDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElBu1Df;EkB/wDE;IAnHI,wBAyBG;IAzBH,mBA2CS;ElB21Df;EkBnxDE;IAnHI,2BAyBG;IAzBH,mBA2CS;ElB+1Df;EkBvxDE;IAnHI,2BAyBG;IAzBH,mBA2CS;ElBm2Df;EkB3xDE;IAnHI,wDAyBG;IAzBH,mBA2CS;ElBu2Df;EkB/xDE;IAnHI,wDAyBG;IAzBH,mBA2CS;ElB22Df;EkBnyDE;IA1GI,yDAgBG;ElBg4DT;EkBtyDE;IA1GI,yDAgBG;ElBm4DT;EkBzyDE;IA1GI,yDAgBG;ElBs4DT;EkB5yDE;IA1GI,yDAgBG;ElBy4DT;EkB/yDE;IA1GI,yDAgBG;ElB44DT;EkBlzDE;IA1GI,yDAgBG;ElB+4DT;EkBrzDE;IA1GI,yDAgBG;ElBk5DT;EkBxzDE;IA1GI,yDAgBG;ElBq5DT;EkB3zDE;IA1GI,yDAgBG;ElBw5DT;EkB9zDE;IA1GI,mBAgBG;ElB25DT;EkBj0DE;IA1GI,iEAgBG;ElB85DT;EkB7yDM;IAjIA,iEAgBG;ElBi6DT;EkBv0DE;IA1GI,iEAgBG;ElBo6DT;EkBnzDM;IAjIA,iEAgBG;ElBu6DT;EkB70DE;IA1GI,iEAgBG;ElB06DT;EkBzzDM;IAjIA,iEAgBG;ElB66DT;EkBn1DE;IA1GI,iEAgBG;ElBg7DT;EkB/zDM;IAjIA,iEAgBG;ElBm7DT;EkBz1DE;IA1GI,iEAgBG;ElBs7DT;EkBr0DM;IAjIA,iEAgBG;ElBy7DT;EkB/1DE;IA1GI,iEAgBG;ElB47DT;EkB30DM;IAjIA,iEAgBG;ElB+7DT;EkBr2DE;IA1GI,iEAgBG;ElBk8DT;EkBj1DM;IAjIA,iEAgBG;ElBq8DT;EkB32DE;IA1GI,iEAgBG;ElBw8DT;EkBv1DM;IAjIA,iEAgBG;ElB28DT;EkBj3DE;IA1GI,iEAgBG;ElB88DT;EkB71DM;IAjIA,iEAgBG;ElBi9DT;EkBv3DE;IA1GI,2BAgBG;ElBo9DT;EkBn2DM;IAjIA,2BAgBG;ElBu9DT;EkB73DE;IA1GI,8BAgBG;ElB09DT;EkBz2DM;IAjIA,8BAgBG;ElB69DT;EkBn4DE;IA1GI,6BAgBG;ElBg+DT;EkB/2DM;IAjIA,6BAgBG;ElBm+DT;EkBz4DE;IA1GI,8BAgBG;ElBs+DT;EkBr3DM;IAjIA,8BAgBG;ElBy+DT;EkB/4DE;IA1GI,yEAgBG;ElB4+DT;EkBl5DE;IA1GI,wHAgBG;ElB++DT;EkBr5DE;IA1GI,2EAgBG;ElBk/DT;EkBx5DE;IA1GI,uEAgBG;ElBq/DT;EkB35DE;IA1GI,6EAgBG;ElBw/DT;EkB95DE;IA1GI,yEAgBG;ElB2/DT;EkBj6DE;IA1GI,yEAgBG;ElB8/DT;EkBp6DE;IA1GI,yEAgBG;ElBigET;EkBv6DE;IA1GI,iFAgBG;ElBogET;EkBn5DM;IAjIA,iFAgBG;ElBugET;EkB76DE;IA1GI,iFAgBG;ElB0gET;EkBz5DM;IAjIA,iFAgBG;ElB6gET;EkBn7DE;IA1GI,iFAgBG;ElBghET;EkB/5DM;IAjIA,iFAgBG;ElBmhET;EkBz7DE;IA1GI,iFAgBG;ElBshET;EkBr6DM;IAjIA,iFAgBG;ElByhET;EkB/7DE;IA1GI,iFAgBG;ElB4hET;EkB36DM;IAjIA,iFAgBG;ElB+hET;EkBr8DE;IA1GI,iFAgBG;ElBkiET;EkBj7DM;IAjIA,iFAgBG;ElBqiET;EkB38DE;IA1GI,iFAgBG;ElBwiET;EkBv7DM;IAjIA,iFAgBG;ElB2iET;EkBj9DE;IA1GI,iFAgBG;ElB8iET;EkB77DM;IAjIA,iFAgBG;ElBijET;EkBv9DE;IA1GI,iFAgBG;ElBojET;EkBn8DM;IAjIA,iFAgBG;ElBujET;EkB79DE;IA1GI,2CAgBG;ElB0jET;EkBz8DM;IAjIA,2CAgBG;ElB6jET;EkBn+DE;IA1GI,8BAgBG;ElBgkET;EkB/8DM;IAjIA,8BAgBG;ElBmkET;EkBz+DE;IA1GI,8BAgBG;ElBskET;EkBr9DM;IAjIA,8BAgBG;ElBykET;EkB/+DE;IA1GI,8BAgBG;ElB4kET;EkB39DM;IAjIA,8BAgBG;ElB+kET;EkBr/DE;IA1GI,8BAgBG;ElBklET;EkBj+DM;IAjIA,8BAgBG;ElBqlET;EkB3/DE;IA1GI,8BAgBG;ElBwlET;EkBv+DM;IAjIA,8BAgBG;ElB2lET;EkBjgEE;IAnHI,2BAyBG;IAzBH,8BA2CS;ElB6kEf;EkBrgEE;IAnHI,6BAyBG;IAzBH,8BA2CS;ElBilEf;EkBzgEE;IAnHI,4BAyBG;IAzBH,8BA2CS;ElBqlEf;EkB7gEE;IAnHI,0BAyBG;IAzBH,8BA2CS;ElBylEf;EkBjhEE;IAnHI,6BAyBG;IAzBH,8BA2CS;ElB6lEf;EkBrhEE;IAnHI,2BAyBG;IAzBH,8BA2CS;ElBimEf;EkBzhEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBqmEf;EkB7hEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBymEf;EkBjiEE;IAnHI,wDAyBG;IAzBH,8BA2CS;ElB6mEf;EkBriEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBinEf;EkBziEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBqnEf;EkB7iEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBynEf;EkBjjEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB6nEf;EkBrjEE;IAnHI,wBAyBG;IAzBH,8BA2CS;ElBioEf;EkBzjEE;IAnHI,wBAyBG;IAzBH,8BA2CS;ElBqoEf;EkB7jEE;IAnHI,oBAyBG;IAzBH,8BA2CS;ElByoEf;EkBjkEE;IAnHI,gBAyBG;IAzBH,8BA2CS;ElB6oEf;EkBrkEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBipEf;EkBzkEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElBqpEf;EkB7kEE;IAnHI,6DAyBG;IAzBH,8BA2CS;ElBypEf;EkBjlEE;IAnHI,yDAyBG;IAzBH,8BA2CS;ElB6pEf;EkBrlEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElBiqEf;EkBzlEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBqqEf;EkB7lEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElByqEf;EkBjmEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB6qEf;EkBrmEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBirEf;EkBzmEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElBqrEf;EkB7mEE;IAnHI,6DAyBG;IAzBH,8BA2CS;ElByrEf;EkBjnEE;IAnHI,yDAyBG;IAzBH,8BA2CS;ElB6rEf;EkBrnEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElBisEf;EkBznEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBqsEf;EkB7nEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBysEf;EkBjoEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB6sEf;EkBroEE;IA1GI,oEAgBG;ElBkuET;EkBxoEE;IA1GI,oEAgBG;ElBquET;EkB3oEE;IA1GI,oEAgBG;ElBwuET;EkB9oEE;IA1GI,oEAgBG;ElB2uET;EkBjpEE;IA1GI,oEAgBG;ElB8uET;EkBppEE;IA1GI,oEAgBG;ElBivET;EkBvpEE;IA1GI,oEAgBG;ElBovET;EkB1pEE;IA1GI,oEAgBG;ElBuvET;EkB7pEE;IA1GI,oEAgBG;ElB0vET;EkBhqEE;IA1GI,8BAgBG;ElB6vET;EkBnqEE;IAnHI,oCA2CS;IA3CT,+BA2CS;ElB+uEf;EkBvqEE;IAnHI,2CA2CS;IA3CT,2BA2CS;ElBmvEf;EkB3qEE;IAnHI,0CA2CS;IA3CT,oCA2CS;ElBuvEf;EkB/qEE;IA1GI,2DAgBG;ElB4wET;EkBlrEE;IA1GI,oCAgBG;ElB+wET;EkBrrEE;IA1GI,wBAqBO;IArBP,gBAqBO;ElB6wEb;EkBxrEE;IA1GI,yBAqBO;IArBP,iBAqBO;ElBgxEb;EkB3rEE;IA1GI,yBAqBO;IArBP,iBAqBO;ElBmxEb;EkB9rEE;IA1GI,oBAqBO;ElBsxEb;EkBjsEE;IA1GI,oBAqBO;ElByxEb;EkBpsEE;IA1GI,sCAgBG;ElBiyET;EkBvsEE;IA1GI,gBAgBG;ElBoyET;EkB1sEE;IA1GI,yCAgBG;ElBuyET;EkB7sEE;IA1GI,sCAgBG;ElB0yET;EkBhtEE;IA1GI,yCAgBG;ElB6yET;EkBntEE;IA1GI,yCAgBG;ElBgzET;EkBttEE;IA1GI,0CAgBG;ElBmzET;EkBztEE;IA1GI,kBAgBG;ElBszET;EkB5tEE;IA1GI,2CAgBG;ElByzET;EkB/tEE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElB6zET;EkBnuEE;IA1GI,4BAgBG;IAhBH,0BAgBG;ElBi0ET;EkBvuEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBq0ET;EkB3uEE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBy0ET;EkB/uEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElB60ET;EkBnvEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBi1ET;EkBvvEE;IA1GI,sDAgBG;IAhBH,oDAgBG;ElBq1ET;EkB3vEE;IA1GI,8BAgBG;IAhBH,4BAgBG;ElBy1ET;EkB/vEE;IA1GI,uDAgBG;IAhBH,qDAgBG;ElB61ET;EkBnwEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElBi2ET;EkBvwEE;IA1GI,wBAgBG;IAhBH,0BAgBG;ElBq2ET;EkB3wEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBy2ET;EkB/wEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElB62ET;EkBnxEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBi3ET;EkBvxEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBq3ET;EkB3xEE;IA1GI,kDAgBG;IAhBH,oDAgBG;ElBy3ET;EkB/xEE;IA1GI,0BAgBG;IAhBH,4BAgBG;ElB63ET;EkBnyEE;IA1GI,mDAgBG;IAhBH,qDAgBG;ElBi4ET;EkBvyEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElBq4ET;EkB3yEE;IA1GI,wBAgBG;IAhBH,0BAgBG;ElBy4ET;EkB/yEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElB64ET;EkBnzEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElBi5ET;EkBvzEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBq5ET;EkB3zEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBy5ET;EkB/zEE;IA1GI,kDAgBG;IAhBH,oDAgBG;ElB65ET;EkBn0EE;IA1GI,0BAgBG;IAhBH,4BAgBG;ElBi6ET;EkBv0EE;IA1GI,mDAgBG;IAhBH,qDAgBG;ElBq6ET;EkB30EE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBy6ET;EkB/0EE;IA1GI,4BAgBG;IAhBH,0BAgBG;ElB66ET;EkBn1EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBi7ET;EkBv1EE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBq7ET;EkB31EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBy7ET;EkB/1EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElB67ET;EkBn2EE;IA1GI,sDAgBG;IAhBH,oDAgBG;ElBi8ET;EkBv2EE;IA1GI,8BAgBG;IAhBH,4BAgBG;ElBq8ET;EkB32EE;IA1GI,uDAgBG;IAhBH,qDAgBG;ElBy8ET;EkB/2EE;IA1GI,mBAgBG;ElB48ET;EkBl3EE;IA1GI,kBAgBG;ElB+8ET;EkBr3EE;IA1GI,WAgBG;ElBk9ET;EkBx3EE;IA1GI,UAgBG;ElBq9ET;EkB33EE;IA1GI,UAgBG;ElBw9ET;EkB93EE;IA1GI,UAgBG;ElB29ET;EkBj4EE;IA1GI,UAgBG;ElB89ET;ESn/EE;IS+GA;MA1GI,mBAgBG;IlBk+EP;IkBx4EA;MA1GI,iBAgBG;IlBq+EP;IkB34EA;MA1GI,WAgBG;IlBw+EP;IkB94EA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlB2+EP;IkBj5EA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlB8+EP;IkBp5EA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBi/EP;IkBv5EA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlBo/EP;IkB15EA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBu/EP;IkB75EA;MA1GI,eAqBO;IlBq/EX;IkBh6EA;MA1GI,qBAqBO;IlBw/EX;IkBn6EA;MA1GI,cAqBO;IlB2/EX;IkBt6EA;MA1GI,aAqBO;IlB8/EX;IkBz6EA;MA1GI,oBAqBO;IlBigFX;IkB56EA;MA1GI,cAqBO;IlBogFX;IkB/6EA;MA1GI,kBAqBO;IlBugFX;IkBl7EA;MA1GI,mBAqBO;IlB0gFX;IkBr7EA;MA1GI,aAqBO;IlB6gFX;IkBx7EA;MA1GI,oBAqBO;IlBghFX;IkB37EA;MA1GI,iBAqBO;IlBmhFX;IkB97EA;MA1GI,kBAqBO;IlBshFX;IkBj8EA;MA1GI,aAqBO;IlByhFX;IkBp8EA;MA1GI,cAgBG;IlBiiFP;IkBv8EA;MA1GI,mBAqBO;IlB+hFX;IkB18EA;MA1GI,sBAqBO;IlBkiFX;IkB78EA;MA1GI,2BAqBO;IlBqiFX;IkBh9EA;MA1GI,8BAqBO;IlBwiFX;IkBn9EA;MA1GI,YAgBG;IlBgjFP;IkBt9EA;MA1GI,YAgBG;IlBmjFP;IkBz9EA;MA1GI,cAgBG;IlBsjFP;IkB59EA;MA1GI,cAgBG;IlByjFP;IkB/9EA;MA1GI,eAqBO;IlBujFX;IkBl+EA;MA1GI,iBAqBO;IlB0jFX;IkBr+EA;MA1GI,uBAqBO;IlB6jFX;IkBx+EA;MA1GI,2BAgBG;IlBqkFP;IkB3+EA;MA1GI,yBAgBG;IlBwkFP;IkB9+EA;MA1GI,uBAgBG;IlB2kFP;IkBj/EA;MA1GI,8BAgBG;IlB8kFP;IkBp/EA;MA1GI,6BAgBG;IlBilFP;IkBv/EA;MA1GI,6BAgBG;IlBolFP;IkB1/EA;MA1GI,oBAgBG;IlBulFP;IkB7/EA;MA1GI,kBAgBG;IlB0lFP;IkBhgFA;MA1GI,qBAgBG;IlB6lFP;IkBngFA;MA1GI,sBAgBG;IlBgmFP;IkBtgFA;MA1GI,wBAgBG;IlBmmFP;IkBzgFA;MA1GI,sBAgBG;IlBsmFP;IkB5gFA;MA1GI,oBAgBG;IlBymFP;IkB/gFA;MA1GI,uBAgBG;IlB4mFP;IkBlhFA;MA1GI,qBAgBG;IlB+mFP;IkBrhFA;MA1GI,mBAgBG;IlBknFP;IkBxhFA;MA1GI,qBAgBG;IlBqnFP;IkB3hFA;MA1GI,oBAgBG;IlBwnFP;IkB9hFA;MA1GI,yBAgBG;IlB2nFP;IkBjiFA;MA1GI,uBAgBG;IlB8nFP;IkBpiFA;MA1GI,qBAgBG;IlBioFP;IkBviFA;MA1GI,4BAgBG;IlBooFP;IkB1iFA;MA1GI,2BAgBG;IlBuoFP;IkB7iFA;MA1GI,sBAgBG;IlB0oFP;IkBhjFA;MA1GI,gBAgBG;IlB6oFP;IkBnjFA;MA1GI,sBAgBG;IlBgpFP;IkBtjFA;MA1GI,oBAgBG;IlBmpFP;IkBzjFA;MA1GI,kBAgBG;IlBspFP;IkB5jFA;MA1GI,oBAgBG;IlBypFP;IkB/jFA;MA1GI,mBAgBG;IlB4pFP;IkBlkFA;MA1GI,kBAgBG;IlB+pFP;IkBrkFA;MA1GI,gBAgBG;IlBkqFP;IkBxkFA;MA1GI,mBAgBG;IlBqqFP;IkB3kFA;MA1GI,oBAgBG;IlBwqFP;IkB9kFA;MA1GI,eAqBO;IlBsqFX;IkBjlFA;MA1GI,eAqBO;IlByqFX;IkBplFA;MA1GI,eAqBO;IlB4qFX;IkBvlFA;MA1GI,mBAgBG;IlBorFP;IkB1lFA;MA1GI,mBAqBO;IlBkrFX;IkB7lFA;MA1GI,sBAqBO;IlBqrFX;IkBhmFA;MA1GI,qBAqBO;IlBwrFX;IkBnmFA;MA1GI,SAgBG;IlBgsFP;IkBtmFA;MA1GI,QAgBG;IlBmsFP;IkBzmFA;MA1GI,QAgBG;IlBssFP;IkB5mFA;MA1GI,QAgBG;IlBysFP;IkB/mFA;MA1GI,QAgBG;IlB4sFP;IkBlnFA;MA1GI,QAgBG;IlB+sFP;IkBrnFA;MA1GI,QAgBG;IlBktFP;IkBxnFA;MA1GI,QAgBG;IlBqtFP;IkB3nFA;MA1GI,SAgBG;IlBwtFP;IkB9nFA;MA1GI,eAgBG;IlB2tFP;IkBjoFA;MA1GI,cAgBG;IlB8tFP;IkBpoFA;MA1GI,YAgBG;IlBiuFP;IkBvoFA;MA1GI,cAgBG;IlBouFP;IkB1oFA;MA1GI,YAgBG;IlBuuFP;IkB7oFA;MA1GI,YAgBG;IlB0uFP;IkBhpFA;MA1GI,gBAgBG;IlB6uFP;IkBnpFA;MA1GI,sBAgBG;IlBgvFP;IkBtpFA;MA1GI,qBAgBG;IlBmvFP;IkBzpFA;MA1GI,mBAgBG;IlBsvFP;IkB5pFA;MA1GI,qBAgBG;IlByvFP;IkB/pFA;MA1GI,mBAgBG;IlB4vFP;IkBlqFA;MA1GI,mBAgBG;IlB+vFP;IkBrqFA;MA1GI,eAgBG;IlBkwFP;IkBxqFA;MA1GI,qBAgBG;IlBqwFP;IkB3qFA;MA1GI,oBAgBG;IlBwwFP;IkB9qFA;MA1GI,kBAgBG;IlB2wFP;IkBjrFA;MA1GI,oBAgBG;IlB8wFP;IkBprFA;MA1GI,kBAgBG;IlBixFP;IkBvrFA;MA1GI,kBAgBG;IlBoxFP;IkB1rFA;MA1GI,qBAgBG;IlBuxFP;IkB7rFA;MA1GI,2BAgBG;IlB0xFP;IkBhsFA;MA1GI,0BAgBG;IlB6xFP;IkBnsFA;MA1GI,wBAgBG;IlBgyFP;IkBtsFA;MA1GI,0BAgBG;IlBmyFP;IkBzsFA;MA1GI,wBAgBG;IlBsyFP;IkB5sFA;MA1GI,wBAgBG;IlByyFP;IkB/sFA;MA1GI,oBAgBG;IlB4yFP;IkBltFA;MA1GI,0BAgBG;IlB+yFP;IkBrtFA;MA1GI,yBAgBG;IlBkzFP;IkBxtFA;MA1GI,uBAgBG;IlBqzFP;IkB3tFA;MA1GI,yBAgBG;IlBwzFP;IkB9tFA;MA1GI,uBAgBG;IlB2zFP;IkBjuFA;MA1GI,uBAgBG;IlB8zFP;IkBpuFA;MA1GI,mBAgBG;IlBi0FP;IkBvuFA;MA1GI,yBAgBG;IlBo0FP;IkB1uFA;MA1GI,wBAgBG;IlBu0FP;IkB7uFA;MA1GI,sBAgBG;IlB00FP;IkBhvFA;MA1GI,wBAgBG;IlB60FP;IkBnvFA;MA1GI,sBAgBG;IlBg1FP;IkBtvFA;MA1GI,sBAgBG;IlBm1FP;IkBzvFA;MA1GI,sBAgBG;IlBs1FP;IkB5vFA;MA1GI,4BAgBG;IlBy1FP;IkB/vFA;MA1GI,2BAgBG;IlB41FP;IkBlwFA;MA1GI,yBAgBG;IlB+1FP;IkBrwFA;MA1GI,2BAgBG;IlBk2FP;IkBxwFA;MA1GI,yBAgBG;IlBq2FP;IkB3wFA;MA1GI,yBAgBG;IlBw2FP;IkB9wFA;MA1GI,UAgBG;IlB22FP;IkBjxFA;MA1GI,gBAgBG;IlB82FP;IkBpxFA;MA1GI,eAgBG;IlBi3FP;IkBvxFA;MA1GI,aAgBG;IlBo3FP;IkB1xFA;MA1GI,eAgBG;IlBu3FP;IkB7xFA;MA1GI,aAgBG;IlB03FP;IkBhyFA;MA1GI,iBAgBG;IlB63FP;IkBnyFA;MA1GI,uBAgBG;IlBg4FP;IkBtyFA;MA1GI,sBAgBG;IlBm4FP;IkBzyFA;MA1GI,oBAgBG;IlBs4FP;IkB5yFA;MA1GI,sBAgBG;IlBy4FP;IkB/yFA;MA1GI,oBAgBG;IlB44FP;IkBlzFA;MA1GI,gBAgBG;IlB+4FP;IkBrzFA;MA1GI,sBAgBG;IlBk5FP;IkBxzFA;MA1GI,qBAgBG;IlBq5FP;IkB3zFA;MA1GI,mBAgBG;IlBw5FP;IkB9zFA;MA1GI,qBAgBG;IlB25FP;IkBj0FA;MA1GI,mBAgBG;IlB85FP;IkBp0FA;MA1GI,sBAgBG;IlBi6FP;IkBv0FA;MA1GI,4BAgBG;IlBo6FP;IkB10FA;MA1GI,2BAgBG;IlBu6FP;IkB70FA;MA1GI,yBAgBG;IlB06FP;IkBh1FA;MA1GI,2BAgBG;IlB66FP;IkBn1FA;MA1GI,yBAgBG;IlBg7FP;IkBt1FA;MA1GI,qBAgBG;IlBm7FP;IkBz1FA;MA1GI,2BAgBG;IlBs7FP;IkB51FA;MA1GI,0BAgBG;IlBy7FP;IkB/1FA;MA1GI,wBAgBG;IlB47FP;IkBl2FA;MA1GI,0BAgBG;IlB+7FP;IkBr2FA;MA1GI,wBAgBG;IlBk8FP;IkBx2FA;MA1GI,oBAgBG;IlBq8FP;IkB32FA;MA1GI,0BAgBG;IlBw8FP;IkB92FA;MA1GI,yBAgBG;IlB28FP;IkBj3FA;MA1GI,uBAgBG;IlB88FP;IkBp3FA;MA1GI,yBAgBG;IlBi9FP;IkBv3FA;MA1GI,uBAgBG;IlBo9FP;IkB13FA;MA1GI,uBAgBG;IlBu9FP;IkB73FA;MA1GI,6BAgBG;IlB09FP;IkBh4FA;MA1GI,4BAgBG;IlB69FP;IkBn4FA;MA1GI,0BAgBG;IlBg+FP;IkBt4FA;MA1GI,4BAgBG;IlBm+FP;IkBz4FA;MA1GI,0BAgBG;IlBs+FP;IkB54FA;MA1GI,MAgBG;IlBy+FP;IkB/4FA;MA1GI,YAgBG;IlB4+FP;IkBl5FA;MA1GI,WAgBG;IlB++FP;IkBr5FA;MA1GI,SAgBG;IlBk/FP;IkBx5FA;MA1GI,WAgBG;IlBq/FP;IkB35FA;MA1GI,SAgBG;IlBw/FP;IkB95FA;MA1GI,UAgBG;IlB2/FP;IkBj6FA;MA1GI,gBAgBG;IlB8/FP;IkBp6FA;MA1GI,eAgBG;IlBigGP;IkBv6FA;MA1GI,aAgBG;IlBogGP;IkB16FA;MA1GI,eAgBG;IlBugGP;IkB76FA;MA1GI,aAgBG;IlB0gGP;IkBh7FA;MA1GI,kBAgBG;MAhBH,aAgBG;IlB6gGP;IkBn7FA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBghGP;IkBt7FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBmhGP;IkBz7FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBshGP;IkB57FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlByhGP;IkB/7FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB4hGP;IkBl8FA;MA1GI,iBAgBG;IlB+hGP;IkBr8FA;MA1GI,eAgBG;IlBkiGP;IkBx8FA;MA1GI,kBAgBG;IlBqiGP;EACF;ES3jGE;IS+GA;MA1GI,mBAgBG;IlB0iGP;IkBh9FA;MA1GI,iBAgBG;IlB6iGP;IkBn9FA;MA1GI,WAgBG;IlBgjGP;IkBt9FA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlBmjGP;IkBz9FA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlBsjGP;IkB59FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlByjGP;IkB/9FA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlB4jGP;IkBl+FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlB+jGP;IkBr+FA;MA1GI,eAqBO;IlB6jGX;IkBx+FA;MA1GI,qBAqBO;IlBgkGX;IkB3+FA;MA1GI,cAqBO;IlBmkGX;IkB9+FA;MA1GI,aAqBO;IlBskGX;IkBj/FA;MA1GI,oBAqBO;IlBykGX;IkBp/FA;MA1GI,cAqBO;IlB4kGX;IkBv/FA;MA1GI,kBAqBO;IlB+kGX;IkB1/FA;MA1GI,mBAqBO;IlBklGX;IkB7/FA;MA1GI,aAqBO;IlBqlGX;IkBhgGA;MA1GI,oBAqBO;IlBwlGX;IkBngGA;MA1GI,iBAqBO;IlB2lGX;IkBtgGA;MA1GI,kBAqBO;IlB8lGX;IkBzgGA;MA1GI,aAqBO;IlBimGX;IkB5gGA;MA1GI,cAgBG;IlBymGP;IkB/gGA;MA1GI,mBAqBO;IlBumGX;IkBlhGA;MA1GI,sBAqBO;IlB0mGX;IkBrhGA;MA1GI,2BAqBO;IlB6mGX;IkBxhGA;MA1GI,8BAqBO;IlBgnGX;IkB3hGA;MA1GI,YAgBG;IlBwnGP;IkB9hGA;MA1GI,YAgBG;IlB2nGP;IkBjiGA;MA1GI,cAgBG;IlB8nGP;IkBpiGA;MA1GI,cAgBG;IlBioGP;IkBviGA;MA1GI,eAqBO;IlB+nGX;IkB1iGA;MA1GI,iBAqBO;IlBkoGX;IkB7iGA;MA1GI,uBAqBO;IlBqoGX;IkBhjGA;MA1GI,2BAgBG;IlB6oGP;IkBnjGA;MA1GI,yBAgBG;IlBgpGP;IkBtjGA;MA1GI,uBAgBG;IlBmpGP;IkBzjGA;MA1GI,8BAgBG;IlBspGP;IkB5jGA;MA1GI,6BAgBG;IlBypGP;IkB/jGA;MA1GI,6BAgBG;IlB4pGP;IkBlkGA;MA1GI,oBAgBG;IlB+pGP;IkBrkGA;MA1GI,kBAgBG;IlBkqGP;IkBxkGA;MA1GI,qBAgBG;IlBqqGP;IkB3kGA;MA1GI,sBAgBG;IlBwqGP;IkB9kGA;MA1GI,wBAgBG;IlB2qGP;IkBjlGA;MA1GI,sBAgBG;IlB8qGP;IkBplGA;MA1GI,oBAgBG;IlBirGP;IkBvlGA;MA1GI,uBAgBG;IlBorGP;IkB1lGA;MA1GI,qBAgBG;IlBurGP;IkB7lGA;MA1GI,mBAgBG;IlB0rGP;IkBhmGA;MA1GI,qBAgBG;IlB6rGP;IkBnmGA;MA1GI,oBAgBG;IlBgsGP;IkBtmGA;MA1GI,yBAgBG;IlBmsGP;IkBzmGA;MA1GI,uBAgBG;IlBssGP;IkB5mGA;MA1GI,qBAgBG;IlBysGP;IkB/mGA;MA1GI,4BAgBG;IlB4sGP;IkBlnGA;MA1GI,2BAgBG;IlB+sGP;IkBrnGA;MA1GI,sBAgBG;IlBktGP;IkBxnGA;MA1GI,gBAgBG;IlBqtGP;IkB3nGA;MA1GI,sBAgBG;IlBwtGP;IkB9nGA;MA1GI,oBAgBG;IlB2tGP;IkBjoGA;MA1GI,kBAgBG;IlB8tGP;IkBpoGA;MA1GI,oBAgBG;IlBiuGP;IkBvoGA;MA1GI,mBAgBG;IlBouGP;IkB1oGA;MA1GI,kBAgBG;IlBuuGP;IkB7oGA;MA1GI,gBAgBG;IlB0uGP;IkBhpGA;MA1GI,mBAgBG;IlB6uGP;IkBnpGA;MA1GI,oBAgBG;IlBgvGP;IkBtpGA;MA1GI,eAqBO;IlB8uGX;IkBzpGA;MA1GI,eAqBO;IlBivGX;IkB5pGA;MA1GI,eAqBO;IlBovGX;IkB/pGA;MA1GI,mBAgBG;IlB4vGP;IkBlqGA;MA1GI,mBAqBO;IlB0vGX;IkBrqGA;MA1GI,sBAqBO;IlB6vGX;IkBxqGA;MA1GI,qBAqBO;IlBgwGX;IkB3qGA;MA1GI,SAgBG;IlBwwGP;IkB9qGA;MA1GI,QAgBG;IlB2wGP;IkBjrGA;MA1GI,QAgBG;IlB8wGP;IkBprGA;MA1GI,QAgBG;IlBixGP;IkBvrGA;MA1GI,QAgBG;IlBoxGP;IkB1rGA;MA1GI,QAgBG;IlBuxGP;IkB7rGA;MA1GI,QAgBG;IlB0xGP;IkBhsGA;MA1GI,QAgBG;IlB6xGP;IkBnsGA;MA1GI,SAgBG;IlBgyGP;IkBtsGA;MA1GI,eAgBG;IlBmyGP;IkBzsGA;MA1GI,cAgBG;IlBsyGP;IkB5sGA;MA1GI,YAgBG;IlByyGP;IkB/sGA;MA1GI,cAgBG;IlB4yGP;IkBltGA;MA1GI,YAgBG;IlB+yGP;IkBrtGA;MA1GI,YAgBG;IlBkzGP;IkBxtGA;MA1GI,gBAgBG;IlBqzGP;IkB3tGA;MA1GI,sBAgBG;IlBwzGP;IkB9tGA;MA1GI,qBAgBG;IlB2zGP;IkBjuGA;MA1GI,mBAgBG;IlB8zGP;IkBpuGA;MA1GI,qBAgBG;IlBi0GP;IkBvuGA;MA1GI,mBAgBG;IlBo0GP;IkB1uGA;MA1GI,mBAgBG;IlBu0GP;IkB7uGA;MA1GI,eAgBG;IlB00GP;IkBhvGA;MA1GI,qBAgBG;IlB60GP;IkBnvGA;MA1GI,oBAgBG;IlBg1GP;IkBtvGA;MA1GI,kBAgBG;IlBm1GP;IkBzvGA;MA1GI,oBAgBG;IlBs1GP;IkB5vGA;MA1GI,kBAgBG;IlBy1GP;IkB/vGA;MA1GI,kBAgBG;IlB41GP;IkBlwGA;MA1GI,qBAgBG;IlB+1GP;IkBrwGA;MA1GI,2BAgBG;IlBk2GP;IkBxwGA;MA1GI,0BAgBG;IlBq2GP;IkB3wGA;MA1GI,wBAgBG;IlBw2GP;IkB9wGA;MA1GI,0BAgBG;IlB22GP;IkBjxGA;MA1GI,wBAgBG;IlB82GP;IkBpxGA;MA1GI,wBAgBG;IlBi3GP;IkBvxGA;MA1GI,oBAgBG;IlBo3GP;IkB1xGA;MA1GI,0BAgBG;IlBu3GP;IkB7xGA;MA1GI,yBAgBG;IlB03GP;IkBhyGA;MA1GI,uBAgBG;IlB63GP;IkBnyGA;MA1GI,yBAgBG;IlBg4GP;IkBtyGA;MA1GI,uBAgBG;IlBm4GP;IkBzyGA;MA1GI,uBAgBG;IlBs4GP;IkB5yGA;MA1GI,mBAgBG;IlBy4GP;IkB/yGA;MA1GI,yBAgBG;IlB44GP;IkBlzGA;MA1GI,wBAgBG;IlB+4GP;IkBrzGA;MA1GI,sBAgBG;IlBk5GP;IkBxzGA;MA1GI,wBAgBG;IlBq5GP;IkB3zGA;MA1GI,sBAgBG;IlBw5GP;IkB9zGA;MA1GI,sBAgBG;IlB25GP;IkBj0GA;MA1GI,sBAgBG;IlB85GP;IkBp0GA;MA1GI,4BAgBG;IlBi6GP;IkBv0GA;MA1GI,2BAgBG;IlBo6GP;IkB10GA;MA1GI,yBAgBG;IlBu6GP;IkB70GA;MA1GI,2BAgBG;IlB06GP;IkBh1GA;MA1GI,yBAgBG;IlB66GP;IkBn1GA;MA1GI,yBAgBG;IlBg7GP;IkBt1GA;MA1GI,UAgBG;IlBm7GP;IkBz1GA;MA1GI,gBAgBG;IlBs7GP;IkB51GA;MA1GI,eAgBG;IlBy7GP;IkB/1GA;MA1GI,aAgBG;IlB47GP;IkBl2GA;MA1GI,eAgBG;IlB+7GP;IkBr2GA;MA1GI,aAgBG;IlBk8GP;IkBx2GA;MA1GI,iBAgBG;IlBq8GP;IkB32GA;MA1GI,uBAgBG;IlBw8GP;IkB92GA;MA1GI,sBAgBG;IlB28GP;IkBj3GA;MA1GI,oBAgBG;IlB88GP;IkBp3GA;MA1GI,sBAgBG;IlBi9GP;IkBv3GA;MA1GI,oBAgBG;IlBo9GP;IkB13GA;MA1GI,gBAgBG;IlBu9GP;IkB73GA;MA1GI,sBAgBG;IlB09GP;IkB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I,cAgBG;IlBysHP;IkB/mHA;MA1GI,eAqBO;IlBusHX;IkBlnHA;MA1GI,iBAqBO;IlB0sHX;IkBrnHA;MA1GI,uBAqBO;IlB6sHX;IkBxnHA;MA1GI,2BAgBG;IlBqtHP;IkB3nHA;MA1GI,yBAgBG;IlBwtHP;IkB9nHA;MA1GI,uBAgBG;IlB2tHP;IkBjoHA;MA1GI,8BAgBG;IlB8tHP;IkBpoHA;MA1GI,6BAgBG;IlBiuHP;IkBvoHA;MA1GI,6BAgBG;IlBouHP;IkB1oHA;MA1GI,oBAgBG;IlBuuHP;IkB7oHA;MA1GI,kBAgBG;IlB0uHP;IkBhpHA;MA1GI,qBAgBG;IlB6uHP;IkBnpHA;MA1GI,sBAgBG;IlBgvHP;IkBtpHA;MA1GI,wBAgBG;IlBmvHP;IkBzpHA;MA1GI,sBAgBG;IlBsvHP;IkB5pHA;MA1GI,oBAgBG;IlByvHP;IkB/pHA;MA1GI,uBAgBG;IlB4vHP;IkBlqHA;MA1GI,qBAgBG;IlB+vHP;IkBrqHA;MA1GI,mBAgBG;IlBkwHP;IkBxqHA;MA1GI,qBAgBG;IlBqwHP;IkB3qHA;MA1GI,oBAgBG;IlBwwHP;IkB9qHA;MA1GI,yBAgBG;IlB2wHP;IkBjrHA;MA1GI,uBAgBG;IlB8wHP;IkBprHA;MA1GI,qBAgBG;IlBixHP;IkBvrHA;MA1GI,4BAgBG;IlBoxHP;IkB1rHA;MA1GI,2BAgBG;IlBuxHP;IkB7rHA;MA1GI,sBAgBG;IlB0xHP;IkBhsHA;MA1GI,gBAgBG;IlB6xHP;IkBnsHA;MA1GI,sBAgBG;IlBgyHP;IkBtsHA;MA1GI,oBAgBG;IlBmyHP;IkBzsHA;MA1GI,kBAgBG;IlBsyHP;IkB5sHA;MA1GI,oBAgBG;IlByyHP;IkB/sHA;MA1GI,mBAgBG;IlB4yHP;IkBltHA;MA1GI,kBAgBG;IlB+yHP;IkBrtHA;MA1GI,gBAgBG;IlBkzHP;IkBxtHA;MA1GI,mBAgBG;IlBqzHP;IkB3tHA;MA1GI,oBAgBG;IlBwzHP;IkB9tHA;MA1GI,eAqBO;IlBszHX;IkBjuHA;MA1GI,eAqBO;IlByzHX;IkBpuHA;MA1GI,eAqBO;IlB4zHX;IkBvuHA;MA1GI,mBAgBG;IlBo0HP;IkB1uHA;MA1GI,mBAqBO;IlBk0HX;IkB7uHA;MA1GI,sBAqBO;IlBq0HX;IkBhvHA;MA1GI,qBAqBO;IlBw0HX;IkBnvHA;MA1GI,SAgBG;IlBg1HP;IkBtvHA;MA1GI,QAgBG;IlBm1HP;IkBzvHA;MA1GI,QAgBG;IlBs1HP;IkB5vHA;MA1GI,QAgBG;IlBy1HP;IkB/vHA;MA1GI,QAgBG;IlB41HP;IkBlwHA;MA1GI,QAgBG;IlB+1HP;IkBrwHA;MA1GI,QAgBG;IlBk2HP;IkBxwHA;MA1GI,QAgBG;IlBq2HP;IkB3wHA;MA1GI,SAgBG;IlBw2HP;IkB9wHA;MA1GI,eAgBG;IlB22HP;IkBjxHA;MA1GI,cAgBG;IlB82HP;IkBpxHA;MA1GI,YAgBG;IlBi3HP;IkBvxHA;MA1GI,cAgBG;IlBo3HP;IkB1xHA;MA1GI,YAgBG;IlBu3HP;IkB7xHA;MA1GI,YAgBG;IlB03HP;IkBhyHA;MA1GI,gBAgBG;IlB63HP;IkBnyHA;MA1GI,sBAgBG;IlBg4HP;IkBtyHA;MA1GI,qBAgBG;IlBm4HP;IkBzyHA;MA1GI,mBAgBG;IlBs4HP;IkB5yHA;MA1GI,qBAgBG;IlBy4HP;IkB/yHA;MA1GI,mBAgBG;IlB44HP;IkBlzHA;MA1GI,mBAgBG;IlB+4HP;IkBrzHA;MA1GI,eAgBG;IlBk5HP;IkBxzHA;MA1GI,qBAgBG;IlBq5HP;IkB3zHA;MA1GI,oBAgBG;IlBw5HP;IkB9zHA;MA1GI,kBAgBG;IlB25HP;IkBj0HA;MA1GI,oBAgBG;IlB85HP;IkBp0HA;MA1GI,kBAgBG;IlBi6HP;IkBv0HA;MA1GI,kBAgBG;IlBo6HP;IkB10HA;MA1GI,qBAgBG;IlBu6HP;IkB70HA;MA1GI,2BAgBG;IlB06HP;IkBh1HA;MA1GI,0BAgBG;IlB66HP;IkBn1HA;MA1GI,wBAgBG;IlBg7HP;IkBt1HA;MA1GI,0BAgBG;IlBm7HP;IkBz1HA;MA1GI,wBAgBG;IlBs7HP;IkB51HA;MA1GI,wBAgBG;IlBy7HP;IkB/1HA;MA1GI,oBAgBG;IlB47HP;IkBl2HA;MA1GI,0BAgBG;IlB+7HP;IkBr2HA;MA1GI,yBAgBG;IlBk8HP;IkBx2HA;MA1GI,uBAgBG;IlBq8HP;IkB32HA;MA1GI,yBAgBG;IlBw8HP;IkB92HA;MA1GI,uBAgBG;IlB28HP;IkBj3HA;MA1GI,uBAgBG;IlB88HP;IkBp3HA;MA1GI,mBAgBG;IlBi9HP;IkBv3HA;MA1GI,yBAgBG;IlBo9HP;IkB13HA;MA1GI,wBAgBG;IlBu9HP;IkB73HA;MA1GI,sBAgBG;IlB09HP;IkBh4HA;MA1GI,wBAgBG;IlB69HP;IkBn4HA;MA1GI,sBAgBG;IlBg+HP;IkBt4HA;MA1GI,sBAgBG;IlBm+HP;IkBz4HA;MA1GI,sBAgBG;IlBs+HP;IkB54HA;MA1GI,4BAgBG;IlBy+HP;IkB/4HA;MA1GI,2BAgBG;IlB4+HP;IkBl5HA;MA1GI,yBAgBG;IlB++HP;IkBr5HA;MA1GI,2BAgBG;IlBk/HP;IkBx5HA;MA1GI,yBAgBG;IlBq/HP;IkB35HA;MA1GI,yBAgBG;IlBw/HP;IkB95HA;MA1GI,UAgBG;IlB2/HP;IkBj6HA;MA1GI,gBAgBG;IlB8/HP;IkBp6HA;MA1GI,eAgBG;IlBigIP;IkBv6HA;MA1GI,aAgBG;IlBogIP;IkB16HA;MA1GI,eAgBG;IlBugIP;IkB76HA;MA1GI,aAgBG;IlB0gIP;IkBh7HA;MA1GI,iBAgBG;IlB6gIP;IkBn7HA;MA1GI,uBAgBG;IlBghIP;IkBt7HA;MA1GI,sBAgBG;IlBmhIP;IkBz7HA;MA1GI,oBAgBG;IlBshIP;IkB57HA;MA1GI,sBAgBG;IlByhIP;IkB/7HA;MA1GI,oBAgBG;IlB4hIP;IkBl8HA;MA1GI,gBAgBG;IlB+hIP;IkBr8HA;MA1GI,sBAgBG;IlBkiIP;IkBx8HA;MA1GI,qBAgBG;IlBqiIP;IkB38HA;MA1GI,mBAgBG;IlBwiIP;IkB98HA;MA1GI,qBAgBG;IlB2iIP;IkBj9HA;MA1GI,mBAgBG;IlB8iIP;IkBp9HA;MA1GI,sBAgBG;IlBijIP;IkBv9HA;MA1GI,4BAgBG;IlBojIP;IkB19HA;MA1GI,2BAgBG;IlBujIP;IkB79HA;MA1GI,yBAgBG;IlB0jIP;IkBh+HA;MA1GI,2BAgBG;IlB6jIP;IkBn+HA;MA1GI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4yIP;IkBltIA;MA1GI,oBAgBG;IlB+yIP;IkBrtIA;MA1GI,kBAgBG;IlBkzIP;IkBxtIA;MA1GI,qBAgBG;IlBqzIP;IkB3tIA;MA1GI,sBAgBG;IlBwzIP;IkB9tIA;MA1GI,wBAgBG;IlB2zIP;IkBjuIA;MA1GI,sBAgBG;IlB8zIP;IkBpuIA;MA1GI,oBAgBG;IlBi0IP;IkBvuIA;MA1GI,uBAgBG;IlBo0IP;IkB1uIA;MA1GI,qBAgBG;IlBu0IP;IkB7uIA;MA1GI,mBAgBG;IlB00IP;IkBhvIA;MA1GI,qBAgBG;IlB60IP;IkBnvIA;MA1GI,oBAgBG;IlBg1IP;IkBtvIA;MA1GI,yBAgBG;IlBm1IP;IkBzvIA;MA1GI,uBAgBG;IlBs1IP;IkB5vIA;MA1GI,qBAgBG;IlBy1IP;IkB/vIA;MA1GI,4BAgBG;IlB41IP;IkBlwIA;MA1GI,2BAgBG;IlB+1IP;IkBrwIA;MA1GI,sBAgBG;IlBk2IP;IkBxwIA;MA1GI,gBAgBG;IlBq2IP;IkB3wIA;MA1GI,sBAgBG;IlBw2IP;IkB9wIA;MA1GI,oBAgBG;IlB22IP;IkBjxIA;MA1GI,kBAgBG;IlB82IP;IkBpxIA;MA1GI,oBAgBG;IlBi3IP;IkBvxIA;MA1GI,mBAgBG;IlBo3IP;IkB1xIA;MA1GI,kBAgBG;IlBu3IP;IkB7xIA;MA1GI,gBAgBG;IlB03IP;IkBhyIA;MA1GI,mBAgBG;IlB63IP;IkBnyIA;MA1GI,oBAgBG;IlBg4IP;IkBtyIA;MA1GI,eAqBO;IlB83IX;IkBzyIA;MA1GI,eAqBO;IlBi4IX;IkB5yIA;MA1GI,eAqBO;IlBo4IX;IkB/yIA;MA1GI,mBAgBG;IlB44IP;IkBlzIA;MA1GI,mBAqBO;IlB04IX;IkBrzIA;MA1GI,sBAqBO;IlB64IX;IkBxzIA;MA1GI,qBAqBO;IlBg5IX;IkB3zIA;MA1GI,SAgBG;IlBw5IP;IkB9zIA;MA1GI,QAgBG;IlB25IP;IkBj0IA;MA1GI,QAgBG;IlB85IP;IkBp0IA;MA1GI,QAgBG;IlBi6IP;IkBv0IA;MA1GI,QAgBG;IlBo6IP;IkB10IA;MA1GI,QAgBG;IlBu6IP;IkB70IA;MA1GI,QAgBG;IlB06IP;IkBh1IA;MA1GI,QAgBG;IlB66IP;IkBn1IA;MA1GI,SAgBG;IlBg7IP;IkBt1IA;MA1GI,eAgBG;IlBm7IP;IkBz1IA;MA1GI,cAgBG;IlBs7IP;IkB51IA;MA1GI,YAgBG;IlBy7IP;IkB/1IA;MA1GI,cAgBG;IlB47IP;IkBl2IA;MA1GI,YAgBG;IlB+7IP;IkBr2IA;MA1GI,YAgBG;IlBk8IP;IkBx2IA;MA1GI,gBAgBG;IlBq8IP;IkB32IA;MA1GI,sBAgBG;IlBw8IP;IkB92IA;MA1GI,qBAgBG;IlB28IP;IkBj3IA;MA1GI,mBAgBG;IlB88IP;IkBp3IA;MA1GI,qBAgBG;IlBi9IP;IkBv3IA;MA1GI,mBAgBG;IlBo9IP;IkB13IA;MA1GI,mBAgBG;IlBu9IP;IkB73IA;MA1GI,eAgBG;IlB09IP;IkBh4IA;MA1GI,qBAgBG;IlB69IP;IkBn4IA;MA1GI,oBAgBG;IlBg+IP;IkBt4IA;MA1GI,kBAgBG;IlBm+IP;IkBz4IA;MA1GI,oBAgBG;IlBs+IP;IkB54IA;MA1GI,kBAgBG;IlBy+IP;IkB/4IA;MA1GI,kBAgBG;IlB4+IP;IkBl5IA;MA1GI,qBAgBG;IlB++IP;IkBr5IA;MA1GI,2BAgBG;IlBk/IP;IkBx5IA;MA1GI,0BAgBG;IlBq/IP;IkB35IA;MA1GI,wBAgBG;IlBw/IP;IkB95IA;MA1GI,0BAgBG;IlB2/IP;IkBj6IA;MA1GI,wBAgBG;IlB8/IP;IkBp6IA;MA1GI,wBAgBG;IlBigJP;IkBv6IA;MA1GI,oBAgBG;IlBogJP;IkB16IA;MA1GI,0BAgBG;IlBugJP;IkB76IA;MA1GI,yBAgBG;IlB0gJP;IkBh7IA;MA1GI,uBAgBG;IlB6gJP;IkBn7IA;MA1GI,yBAgBG;IlBghJP;IkBt7IA;MA1GI,uBAgBG;IlBmhJP;IkBz7IA;MA1GI,uBAgBG;IlBshJP;IkB57IA;MA1GI,mBAgBG;IlByhJP;IkB/7IA;MA1GI,yBAgBG;IlB4hJP;IkBl8IA;MA1GI,wBAgBG;IlB+hJP;IkBr8IA;MA1GI,sBAgBG;IlBkiJP;IkBx8IA;MA1GI,wBAgBG;IlBqiJP;IkB38IA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oxJP;IkB1rJA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBuxJP;IkB7rJA;MA1GI,eAqBO;IlBqxJX;IkBhsJA;MA1GI,qBAqBO;IlBwxJX;IkBnsJA;MA1GI,cAqBO;IlB2xJX;IkBtsJA;MA1GI,aAqBO;IlB8xJX;IkBzsJA;MA1GI,oBAqBO;IlBiyJX;IkB5sJA;MA1GI,cAqBO;IlBoyJX;IkB/sJA;MA1GI,kBAqBO;IlBuyJX;IkBltJA;MA1GI,mBAqBO;IlB0yJX;IkBrtJA;MA1GI,aAqBO;IlB6yJX;IkBxtJA;MA1GI,oBAqBO;IlBgzJX;IkB3tJA;MA1GI,iBAqBO;IlBmzJX;IkB9tJA;MA1GI,kBAqBO;IlBszJX;IkBjuJA;MA1GI,aAqBO;IlByzJX;IkBpuJA;MA1GI,cAgBG;IlBi0JP;IkBvuJA;MA1GI,mBAqBO;IlB+zJX;IkB1uJA;MA1GI,sBAqBO;IlBk0JX;IkB7uJA;MA1GI,2BAqBO;IlBq0JX;IkBhvJA;MA1GI,8BAqBO;IlBw0JX;IkBnvJA;MA1GI,YAgBG;IlBg1JP;IkBtvJA;MA1GI,YAgBG;IlBm1JP;IkBzvJA;MA1GI,cAgBG;IlBs1JP;IkB5vJA;MA1GI,cAgBG;IlBy1JP;IkB/vJA;MA1GI,eAqBO;IlBu1JX;IkBlwJA;MA1GI,iBAqBO;IlB01JX;IkBrwJA;MA1GI,uBAqBO;IlB61JX;IkBxwJA;MA1GI,2BAgBG;IlBq2JP;IkB3wJA;MA1GI,yBAgBG;IlBw2JP;IkB9wJA;MA1GI,uBAgBG;IlB22JP;IkBjxJA;MA1GI,8BAgBG;IlB82JP;IkBpxJA;MA1GI,6BAgBG;IlBi3JP;IkBvxJA;MA1GI,6BAgBG;IlBo3JP;IkB1xJA;MA1GI,oBAgBG;IlBu3JP;IkB7xJA;MA1GI,kBAgBG;IlB03JP;IkBhyJA;MA1GI,qBAgBG;IlB63JP;IkBnyJA;MA1GI,sBAgBG;IlBg4JP;IkBtyJA;MA1GI,wBAgBG;IlBm4JP;IkBzyJA;MA1GI,sBAgBG;IlBs4JP;IkB5yJA;MA1GI,oBAgBG;IlBy4JP;IkB/yJA;MA1GI,uBAgBG;IlB44JP;IkBlzJA;MA1GI,qBAgBG;IlB+4JP;IkBrzJA;MA1GI,mBAgBG;IlBk5JP;IkBxzJA;MA1GI,qBAgBG;IlBq5JP;IkB3zJA;MA1GI,oBAgBG;IlBw5JP;IkB9zJA;MA1GI,yBAgBG;IlB25JP;IkBj0JA;MA1GI,uBAgBG;IlB85JP;IkBp0JA;MA1GI,qBAgBG;IlBi6JP;IkBv0JA;MA1GI,4BAgBG;IlBo6JP;IkB10JA;MA1GI,2BAgBG;IlBu6JP;IkB70JA;MA1GI,sBAgBG;IlB06JP;IkBh1JA;MA1GI,gBAgBG;IlB66JP;IkBn1JA;MA1GI,sBAgBG;IlBg7JP;IkBt1JA;MA1GI,oBAgBG;IlBm7JP;IkBz1JA;MA1GI,kBAgBG;IlBs7JP;IkB51JA;MA1GI,oBAgBG;IlBy7JP;IkB/1JA;MA1GI,mBAgBG;IlB47JP;IkBl2JA;MA1GI,kBAgBG;IlB+7JP;IkBr2JA;MA1GI,gBAgBG;IlBk8JP;IkBx2JA;MA1GI,mBAgBG;IlBq8JP;IkB32JA;MA1GI,oBAgBG;IlBw8JP;IkB92JA;MA1GI,eAqBO;IlBs8JX;IkBj3JA;MA1GI,eAqBO;IlBy8JX;IkBp3JA;MA1GI,eAqBO;IlB48JX;IkBv3JA;MA1GI,mBAgBG;IlBo9JP;IkB13JA;MA1GI,mBAqBO;IlBk9JX;IkB73JA;MA1GI,sBAqBO;IlBq9JX;IkBh4JA;MA1GI,qBAqBO;IlBw9JX;IkBn4JA;MA1GI,SAgBG;IlBg+JP;IkBt4JA;MA1GI,QAgBG;IlBm+JP;IkBz4JA;MA1GI,QAgBG;IlBs+JP;IkB54JA;MA1GI,QAgBG;IlBy+JP;IkB/4JA;MA1GI,QAgBG;IlB4+JP;IkBl5JA;MA1GI,QAgBG;IlB++JP;IkBr5JA;MA1GI,QAgBG;IlBk/JP;IkBx5JA;MA1GI,QAgBG;IlBq/JP;IkB35JA;MA1GI,SAgBG;IlBw/JP;IkB95JA;MA1GI,eAgBG;IlB2/JP;IkBj6JA;MA1GI,cAgBG;IlB8/JP;IkBp6JA;MA1GI,YAgBG;IlBigKP;IkBv6JA;MA1GI,cAgBG;IlBogKP;IkB16JA;MA1GI,YAgBG;IlBugKP;IkB76JA;MA1GI,YAgBG;IlB0gKP;IkBh7JA;MA1GI,gBAgBG;IlB6gKP;IkBn7JA;MA1GI,sBAgBG;IlBghKP;IkBt7JA;MA1GI,qBAgBG;IlBmhKP;IkBz7JA;MA1GI,mBAgBG;IlBshKP;IkB57JA;MA1GI,qBAgBG;IlByhKP;IkB/7JA;MA1GI,mBAgBG;IlB4hKP;IkBl8JA;MA1GI,mBAgBG;IlB+hKP;IkBr8JA;MA1GI,eAgBG;IlBkiKP;IkBx8JA;MA1GI,qBAgBG;IlBqiKP;IkB38JA;MA1GI,oBAgBG;IlBwiKP;IkB98JA;MA1GI,kBAgBG;IlB2iKP;IkBj9JA;MA1GI,oBAgBG;IlB8iKP;IkBp9JA;MA1GI,kBAgBG;IlBijKP;IkBv9JA;MA1GI,kBAgBG;IlBojKP;IkB19JA;MA1GI,qBAgBG;IlBujKP;IkB79JA;MA1GI,2BAgBG;IlB0jKP;IkBh+JA;MA1GI,0BAgBG;IlB6jKP;IkBn+JA;MA1GI,wBAgBG;IlBgkKP;IkBt+JA;MA1GI,0BAgBG;IlBmkKP;IkBz+JA;MA1GI,wBAgBG;IlBskKP;IkB5+JA;MA1GI,wBAgBG;IlBykKP;IkB/+JA;MA1GI,oBAgBG;IlB4kKP;IkBl/JA;MA1GI,0BAgBG;IlB+kKP;IkBr/JA;MA1GI,yBAgBG;IlBklKP;IkBx/JA;MA1GI,uBAgBG;IlBqlKP;IkB3/JA;MA1GI,yBAgBG;IlBwlKP;IkB9/JA;MA1GI,uBAgBG;IlB2lKP;IkBjgKA;MA1GI,uBAgBG;IlB8lKP;IkBpgKA;MA1GI,mBAgBG;IlBimKP;IkBvgKA;MA1GI,yBAgBG;IlBomKP;IkB1gKA;MA1GI,wBAgBG;IlBumKP;IkB7gKA;MA1GI,sBAgBG;IlB0mKP;IkBhhKA;MA1GI,wBAgBG;IlB6mKP;IkBnhKA;MA1GI,sBAgBG;IlBgnKP;IkBthKA;MA1GI,sBAgBG;IlBmnKP;IkBzhKA;MA1GI,sBAgBG;IlBsnKP;IkB5hKA;MA1GI,4BAgBG;IlBynKP;IkB/hKA;MA1GI,2BAgBG;IlB4nKP;IkBliKA;MA1GI,yBAgBG;IlB+nKP;IkBriKA;MA1GI,2BAgBG;IlBkoKP;IkBxiKA;MA1GI,yBAgBG;IlBqoKP;IkB3iKA;MA1GI,yBAgBG;IlBwoKP;IkB9iKA;MA1GI,UAgBG;IlB2oKP;IkBjjKA;MA1GI,gBAgBG;IlB8oKP;IkBpjKA;MA1GI,eAgBG;IlBipKP;IkBvjKA;MA1GI,aAgBG;IlBopKP;IkB1jKA;MA1GI,eAgBG;IlBupKP;IkB7jKA;MA1GI,aAgBG;IlB0pKP;IkBhkKA;MA1GI,iBAgBG;IlB6pKP;IkBnkKA;MA1GI,uBAgBG;IlBgqKP;IkBtkKA;MA1GI,sBAgBG;IlBmqKP;IkBzkKA;MA1GI,oBAgBG;IlBsqKP;IkB5kKA;MA1GI,sBAgBG;IlByqKP;IkB/kKA;MA1GI,oBAgBG;IlB4qKP;IkBllKA;MA1GI,gBAgBG;IlB+qKP;IkBrlKA;MA1GI,sBAgBG;IlBkrKP;IkBxlKA;MA1GI,qBAgBG;IlBqrKP;IkB3lKA;MA1GI,mBAgBG;IlBwrKP;IkB9lKA;MA1GI,qBAgBG;IlB2rKP;IkBjmKA;MA1GI,mBAgBG;IlB8rKP;IkBpmKA;MA1GI,sBAgBG;IlBisKP;IkBvmKA;MA1GI,4BAgBG;IlBosKP;IkB1mKA;MA1GI,2BAgBG;IlBusKP;IkB7mKA;MA1GI,yBAgBG;IlB0sKP;IkBhnKA;MA1GI,2BAgBG;IlB6sKP;IkBnnKA;MA1GI,yBAgBG;IlBgtKP;IkBtnKA;MA1GI,qBAgBG;IlBmtKP;IkBznKA;MA1GI,2BAgBG;IlBstKP;IkB5nKA;MA1GI,0BAgBG;IlBytKP;IkB/nKA;MA1GI,wBAgBG;IlB4tKP;IkBloKA;MA1GI,0BAgBG;IlB+tKP;IkBroKA;MA1GI,wBAgBG;IlBkuKP;IkBxoKA;MA1GI,oBAgBG;IlBquKP;IkB3oKA;MA1GI,0BAgBG;IlBwuKP;IkB9oKA;MA1GI,yBAgBG;IlB2uKP;IkBjpKA;MA1GI,uBAgBG;IlB8uKP;IkBppKA;MA1GI,yBAgBG;IlBivKP;IkBvpKA;MA1GI,uBAgBG;IlBovKP;IkB1pKA;MA1GI,uBAgBG;IlBuvKP;IkB7pKA;MA1GI,6BAgBG;IlB0vKP;IkBhqKA;MA1GI,4BAgBG;IlB6vKP;IkBnqKA;MA1GI,0BAgBG;IlBgwKP;IkBtqKA;MA1GI,4BAgBG;IlBmwKP;IkBzqKA;MA1GI,0BAgBG;IlBswKP;IkB5qKA;MA1GI,MAgBG;IlBywKP;IkB/qKA;MA1GI,YAgBG;IlB4wKP;IkBlrKA;MA1GI,WAgBG;IlB+wKP;IkBrrKA;MA1GI,SAgBG;IlBkxKP;IkBxrKA;MA1GI,WAgBG;IlBqxKP;IkB3rKA;MA1GI,SAgBG;IlBwxKP;IkB9rKA;MA1GI,UAgBG;IlB2xKP;IkBjsKA;MA1GI,gBAgBG;IlB8xKP;IkBpsKA;MA1GI,eAgBG;IlBiyKP;IkBvsKA;MA1GI,aAgBG;IlBoyKP;IkB1sKA;MA1GI,eAgBG;IlBuyKP;IkB7sKA;MA1GI,aAgBG;IlB0yKP;IkBhtKA;MA1GI,kBAgBG;MAhBH,aAgBG;IlB6yKP;IkBntKA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBgzKP;IkBttKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBmzKP;IkBztKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBszKP;IkB5tKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlByzKP;IkB/tKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB4zKP;IkBluKA;MA1GI,iBAgBG;IlB+zKP;IkBruKA;MA1GI,eAgBG;IlBk0KP;IkBxuKA;MA1GI,kBAgBG;IlBq0KP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --white-rgb: to-rgb(#fff);\n  --black-rgb: to-rgb(#000);\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --body-color-rgb: to-rgb(var(--color-body));\n  --body-bg-rgb: to-rgb(var(--bg-body));\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--color-body);\n  --highlight-bg: var(--yellow-100);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: rgba(0, 0, 0, 0.175);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --emphasis-color: #fff;\n  --emphasis-color-rgb: to-rgb(#fff);\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --border-color-translucent: rgba(255, 255, 255, 0.15);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--color-body) !default;\n$body-bg:                   var(--bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--yellow-100) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--color-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 2a32b8d61faef69928d0e6d357b6c3cd2e72e13d..0d34c191208f8c3e299d65c1ae756fd935d09765 100644 (file)
@@ -2,5 +2,5 @@
   * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)
   * Copyright 2011-2025 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));--bs-blue-500:oklch(60% 0.24 258deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{color-scheme:light;--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size:16px;--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:-1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger)}[data-bs-theme=dark]{color-scheme:dark;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300)}@layer helpers{.text-bg-primary{color:var(--bs-primary-text);--bs-bg:var(--bs-primary-bg-subtle)}.text-bg-accent{color:var(--bs-accent-text);--bs-bg:var(--bs-accent-bg-subtle)}.text-bg-success{color:var(--bs-success-text);--bs-bg:var(--bs-success-bg-subtle)}.text-bg-danger{color:var(--bs-danger-text);--bs-bg:var(--bs-danger-bg-subtle)}.text-bg-warning{color:var(--bs-warning-text);--bs-bg:var(--bs-warning-bg-subtle)}.text-bg-info{color:var(--bs-info-text);--bs-bg:var(--bs-info-bg-subtle)}.text-bg-inverse{color:var(--bs-inverse-text);--bs-bg:var(--bs-inverse-bg-subtle)}.text-bg-secondary{color:var(--bs-secondary-text);--bs-bg:var(--bs-secondary-bg-subtle)}}@layer helpers{.link-primary{--bs-link-color:var(--bs-primary-text)}.link-primary:focus,.link-primary:hover{--bs-link-color:var(--bs-primary-text-emphasis);--bs-link-hover-color:var(--bs-primary-text-emphasis)}.link-accent{--bs-link-color:var(--bs-accent-text)}.link-accent:focus,.link-accent:hover{--bs-link-color:var(--bs-accent-text-emphasis);--bs-link-hover-color:var(--bs-accent-text-emphasis)}.link-success{--bs-link-color:var(--bs-success-text)}.link-success:focus,.link-success:hover{--bs-link-color:var(--bs-success-text-emphasis);--bs-link-hover-color:var(--bs-success-text-emphasis)}.link-danger{--bs-link-color:var(--bs-danger-text)}.link-danger:focus,.link-danger:hover{--bs-link-color:var(--bs-danger-text-emphasis);--bs-link-hover-color:var(--bs-danger-text-emphasis)}.link-warning{--bs-link-color:var(--bs-warning-text)}.link-warning:focus,.link-warning:hover{--bs-link-color:var(--bs-warning-text-emphasis);--bs-link-hover-color:var(--bs-warning-text-emphasis)}.link-info{--bs-link-color:var(--bs-info-text)}.link-info:focus,.link-info:hover{--bs-link-color:var(--bs-info-text-emphasis);--bs-link-hover-color:var(--bs-info-text-emphasis)}.link-inverse{--bs-link-color:var(--bs-inverse-text)}.link-inverse:focus,.link-inverse:hover{--bs-link-color:var(--bs-inverse-text-emphasis);--bs-link-hover-color:var(--bs-inverse-text-emphasis)}.link-secondary{--bs-link-color:var(--bs-secondary-text)}.link-secondary:focus,.link-secondary:hover{--bs-link-color:var(--bs-secondary-text-emphasis);--bs-link-hover-color:var(--bs-secondary-text-emphasis)}.link-body-emphasis{color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-opacity));text-decoration-color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-underline-opacity))}.link-body-emphasis:focus,.link-body-emphasis:hover{color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-opacity,.75));text-decoration-color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-underline-opacity,0.75))}}@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}}@layer helpers{.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}}@layer helpers{.fixed-top{position:fixed;inset:0 0 auto;z-index:1030}.fixed-bottom{position:fixed;inset:auto 0 0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (width >= 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1024px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1280px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1536px){.sticky-2xl-top{position:sticky;top:0;z-index:1020}.sticky-2xl-bottom{position:sticky;bottom:0;z-index:1020}}}@layer helpers{.hstack,b-hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.hstack-start,b-hstack[align=start]{display:flex;flex-direction:row;align-items:flex-start;align-self:stretch}.vstack,b-vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}}@layer helpers{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}}@layer helpers{.stretched-link::after{position:absolute;inset:0;z-index:1;content:""}}@layer helpers{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer helpers{.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1/1}.ratio-4x3{--bs-ratio:4/3}.ratio-16x9{--bs-ratio:16/9}.ratio-21x9{--bs-ratio:21/9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body))}.focus-ring-accent{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body))}.focus-ring-success{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body))}.focus-ring-danger{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body))}.focus-ring-warning{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body))}.focus-ring-info{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translateX(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900), var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300), var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300), var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300), var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300), var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300), var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300), var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch,var(--bs-border-color) 10%,transparent)}.border-20{border-color:color-mix(in oklch,var(--bs-border-color) 20%,transparent)}.border-30{border-color:color-mix(in oklch,var(--bs-border-color) 30%,transparent)}.border-40{border-color:color-mix(in oklch,var(--bs-border-color) 40%,transparent)}.border-50{border-color:color-mix(in oklch,var(--bs-border-color) 50%,transparent)}.border-60{border-color:color-mix(in oklch,var(--bs-border-color) 60%,transparent)}.border-70{border-color:color-mix(in oklch,var(--bs-border-color) 70%,transparent)}.border-80{border-color:color-mix(in oklch,var(--bs-border-color) 80%,transparent)}.border-90{border-color:color-mix(in oklch,var(--bs-border-color) 90%,transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.grid-cols-3{--bs-columns:3}.grid-cols-4{--bs-columns:4}.grid-cols-6{--bs-columns:6}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-monospace)}.font-body{font-family:var(--bs-font-sans-serif)}.fs-xs{font-size:var(--bs-font-size-xs)}.fs-sm{font-size:var(--bs-font-size-sm)}.fs-md{font-size:var(--bs-font-size-md)}.fs-lg{font-size:var(--bs-font-size-lg)}.fs-xl{font-size:var(--bs-font-size-xl)}.fs-2xl{font-size:var(--bs-font-size-2xl)}.fs-3xl{font-size:var(--bs-font-size-3xl)}.fs-4xl{font-size:var(--bs-font-size-4xl)}.fs-5xl{font-size:var(--bs-font-size-5xl)}.fs-6xl{font-size:var(--bs-font-size-6xl)}.text-xs{font-size:var(--bs-font-size-xs);line-height:var(--bs-line-height-xs)}.text-sm{font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm)}.text-md{font-size:var(--bs-font-size-md);line-height:var(--bs-line-height-md)}.text-lg{font-size:var(--bs-font-size-lg);line-height:var(--bs-line-height-lg)}.text-xl{font-size:var(--bs-font-size-xl);line-height:var(--bs-line-height-xl)}.text-2xl{font-size:var(--bs-font-size-2xl);line-height:var(--bs-line-height-2xl)}.text-3xl{font-size:var(--bs-font-size-3xl);line-height:var(--bs-line-height-3xl)}.text-4xl{font-size:var(--bs-font-size-4xl);line-height:var(--bs-line-height-4xl)}.text-5xl{font-size:var(--bs-font-size-5xl);line-height:var(--bs-line-height-5xl)}.text-6xl{font-size:var(--bs-font-size-6xl);line-height:var(--bs-line-height-6xl)}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600), var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600), var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600), var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700), var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600), var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700), var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500), var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800), var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800), var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800), var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800), var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800), var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800), var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975), var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch,var(--bs-fg) 10%,transparent)}.fg-20{color:color-mix(in oklch,var(--bs-fg) 20%,transparent)}.fg-30{color:color-mix(in oklch,var(--bs-fg) 30%,transparent)}.fg-40{color:color-mix(in oklch,var(--bs-fg) 40%,transparent)}.fg-50{color:color-mix(in oklch,var(--bs-fg) 50%,transparent)}.fg-60{color:color-mix(in oklch,var(--bs-fg) 60%,transparent)}.fg-70{color:color-mix(in oklch,var(--bs-fg) 70%,transparent)}.fg-80{color:color-mix(in oklch,var(--bs-fg) 80%,transparent)}.fg-90{color:color-mix(in oklch,var(--bs-fg) 90%,transparent)}.fg-100{color:var(--bs-fg)}.fg-contrast-primary{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-accent{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-success{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white), var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-white));color:var(--bs-fg)}.link-10{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-10-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-20{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-20-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-30{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-30-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-40{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-40-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-50{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-50-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-60{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-60-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-70{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-70-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-80{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-80-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-90{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-90-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-100{color:var(--bs-link-color)}.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1{text-underline-offset:0.125em}.underline-offset-1-hover:hover{text-underline-offset:0.125em}.underline-offset-2{text-underline-offset:0.25em}.underline-offset-2-hover:hover{text-underline-offset:0.25em}.underline-offset-3{text-underline-offset:0.375em}.underline-offset-3-hover:hover{text-underline-offset:0.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch,var(--bs-indigo-400),var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-10-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-20{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-20-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-30{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-30-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-40{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-40-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-50{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-50-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-60{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-60-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-70{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-70-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-80{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-80-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-90{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-90-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-100{text-decoration-color:var(--bs-link-color)}.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1{text-decoration-thickness:1px}.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2{text-decoration-thickness:2px}.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3{text-decoration-thickness:3px}.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4{text-decoration-thickness:4px}.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5{text-decoration-thickness:5px}.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900), var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white), var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025), var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100), var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100), var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100), var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100), var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100), var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100), var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200), var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200), var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200), var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200), var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200), var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200), var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch,var(--bs-bg) 10%,transparent)}.bg-20{background-color:color-mix(in oklch,var(--bs-bg) 20%,transparent)}.bg-30{background-color:color-mix(in oklch,var(--bs-bg) 30%,transparent)}.bg-40{background-color:color-mix(in oklch,var(--bs-bg) 40%,transparent)}.bg-50{background-color:color-mix(in oklch,var(--bs-bg) 50%,transparent)}.bg-60{background-color:color-mix(in oklch,var(--bs-bg) 60%,transparent)}.bg-70{background-color:color-mix(in oklch,var(--bs-bg) 70%,transparent)}.bg-80{background-color:color-mix(in oklch,var(--bs-bg) 80%,transparent)}.bg-90{background-color:color-mix(in oklch,var(--bs-bg) 90%,transparent)}.bg-100{background-color:var(--bs-bg)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width >= 576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.grid-cols-sm-3{--bs-columns:3}.grid-cols-sm-4{--bs-columns:4}.grid-cols-sm-6{--bs-columns:6}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (width >= 768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.grid-cols-md-3{--bs-columns:3}.grid-cols-md-4{--bs-columns:4}.grid-cols-md-6{--bs-columns:6}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (width >= 1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.grid-cols-lg-3{--bs-columns:3}.grid-cols-lg-4{--bs-columns:4}.grid-cols-lg-6{--bs-columns:6}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (width >= 1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.grid-cols-xl-3{--bs-columns:3}.grid-cols-xl-4{--bs-columns:4}.grid-cols-xl-6{--bs-columns:6}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (width >= 1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.grid-cols-2xl-3{--bs-columns:3}.grid-cols-2xl-4{--bs-columns:4}.grid-cols-2xl-6{--bs-columns:6}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}
+  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));--bs-blue-500:oklch(60% 0.24 240deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger);color-scheme:light;--bs-root-font-size:16px}[data-bs-theme=dark]{--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300);color-scheme:dark}@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}}@layer helpers{.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}}@layer helpers{.fixed-top{position:fixed;inset:0 0 auto;z-index:1030}.fixed-bottom{position:fixed;inset:auto 0 0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (width >= 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1024px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1280px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1536px){.sticky-2xl-top{position:sticky;top:0;z-index:1020}.sticky-2xl-bottom{position:sticky;bottom:0;z-index:1020}}}@layer helpers{.hstack,b-hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.hstack-start,b-hstack[align=start]{display:flex;flex-direction:row;align-items:flex-start;align-self:stretch}.vstack,b-vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}}@layer helpers{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}}@layer helpers{.stretched-link::after{position:absolute;inset:0;z-index:1;content:""}}@layer helpers{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer helpers{.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:var(--bs-border-color)}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1/1}.ratio-4x3{--bs-ratio:4/3}.ratio-16x9{--bs-ratio:16/9}.ratio-21x9{--bs-ratio:21/9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body))}.focus-ring-accent{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body))}.focus-ring-success{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body))}.focus-ring-danger{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body))}.focus-ring-warning{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body))}.focus-ring-info{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translateX(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900), var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300), var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300), var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300), var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300), var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300), var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300), var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch,var(--bs-border-color) 10%,transparent)}.border-20{border-color:color-mix(in oklch,var(--bs-border-color) 20%,transparent)}.border-30{border-color:color-mix(in oklch,var(--bs-border-color) 30%,transparent)}.border-40{border-color:color-mix(in oklch,var(--bs-border-color) 40%,transparent)}.border-50{border-color:color-mix(in oklch,var(--bs-border-color) 50%,transparent)}.border-60{border-color:color-mix(in oklch,var(--bs-border-color) 60%,transparent)}.border-70{border-color:color-mix(in oklch,var(--bs-border-color) 70%,transparent)}.border-80{border-color:color-mix(in oklch,var(--bs-border-color) 80%,transparent)}.border-90{border-color:color-mix(in oklch,var(--bs-border-color) 90%,transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.grid-cols-3{--bs-columns:3}.grid-cols-4{--bs-columns:4}.grid-cols-6{--bs-columns:6}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-monospace)}.font-body{font-family:var(--bs-font-sans-serif)}.fs-xs{font-size:var(--bs-font-size-xs)}.fs-sm{font-size:var(--bs-font-size-sm)}.fs-md{font-size:var(--bs-font-size-md)}.fs-lg{font-size:var(--bs-font-size-lg)}.fs-xl{font-size:var(--bs-font-size-xl)}.fs-2xl{font-size:var(--bs-font-size-2xl)}.fs-3xl{font-size:var(--bs-font-size-3xl)}.fs-4xl{font-size:var(--bs-font-size-4xl)}.fs-5xl{font-size:var(--bs-font-size-5xl)}.fs-6xl{font-size:var(--bs-font-size-6xl)}.text-xs{font-size:var(--bs-font-size-xs);line-height:var(--bs-line-height-xs)}.text-sm{font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm)}.text-md{font-size:var(--bs-font-size-md);line-height:var(--bs-line-height-md)}.text-lg{font-size:var(--bs-font-size-lg);line-height:var(--bs-line-height-lg)}.text-xl{font-size:var(--bs-font-size-xl);line-height:var(--bs-line-height-xl)}.text-2xl{font-size:var(--bs-font-size-2xl);line-height:var(--bs-line-height-2xl)}.text-3xl{font-size:var(--bs-font-size-3xl);line-height:var(--bs-line-height-3xl)}.text-4xl{font-size:var(--bs-font-size-4xl);line-height:var(--bs-line-height-4xl)}.text-5xl{font-size:var(--bs-font-size-5xl);line-height:var(--bs-line-height-5xl)}.text-6xl{font-size:var(--bs-font-size-6xl);line-height:var(--bs-line-height-6xl)}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600), var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600), var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600), var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700), var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600), var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700), var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500), var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800), var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800), var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800), var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800), var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800), var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800), var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975), var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-accent{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-success{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white), var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch,var(--bs-fg) 10%,transparent)}.fg-20{color:color-mix(in oklch,var(--bs-fg) 20%,transparent)}.fg-30{color:color-mix(in oklch,var(--bs-fg) 30%,transparent)}.fg-40{color:color-mix(in oklch,var(--bs-fg) 40%,transparent)}.fg-50{color:color-mix(in oklch,var(--bs-fg) 50%,transparent)}.fg-60{color:color-mix(in oklch,var(--bs-fg) 60%,transparent)}.fg-70{color:color-mix(in oklch,var(--bs-fg) 70%,transparent)}.fg-80{color:color-mix(in oklch,var(--bs-fg) 80%,transparent)}.fg-90{color:color-mix(in oklch,var(--bs-fg) 90%,transparent)}.fg-100{color:var(--bs-fg)}.link-10{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-10-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-20{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-20-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-30{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-30-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-40{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-40-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-50{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-50-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-60{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-60-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-70{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-70-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-80{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-80-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-90{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-90-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-100{color:var(--bs-link-color)}.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1{text-underline-offset:0.125em}.underline-offset-1-hover:hover{text-underline-offset:0.125em}.underline-offset-2{text-underline-offset:0.25em}.underline-offset-2-hover:hover{text-underline-offset:0.25em}.underline-offset-3{text-underline-offset:0.375em}.underline-offset-3-hover:hover{text-underline-offset:0.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch,var(--bs-indigo-400),var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-10-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-20{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-20-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-30{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-30-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-40{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-40-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-50{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-50-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-60{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-60-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-70{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-70-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-80{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-80-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-90{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-90-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-100{text-decoration-color:var(--bs-link-color)}.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1{text-decoration-thickness:1px}.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2{text-decoration-thickness:2px}.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3{text-decoration-thickness:3px}.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4{text-decoration-thickness:4px}.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5{text-decoration-thickness:5px}.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900), var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white), var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025), var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100), var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100), var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100), var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100), var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100), var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100), var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200), var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200), var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200), var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200), var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200), var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200), var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch,var(--bs-bg) 10%,transparent)}.bg-20{background-color:color-mix(in oklch,var(--bs-bg) 20%,transparent)}.bg-30{background-color:color-mix(in oklch,var(--bs-bg) 30%,transparent)}.bg-40{background-color:color-mix(in oklch,var(--bs-bg) 40%,transparent)}.bg-50{background-color:color-mix(in oklch,var(--bs-bg) 50%,transparent)}.bg-60{background-color:color-mix(in oklch,var(--bs-bg) 60%,transparent)}.bg-70{background-color:color-mix(in oklch,var(--bs-bg) 70%,transparent)}.bg-80{background-color:color-mix(in oklch,var(--bs-bg) 80%,transparent)}.bg-90{background-color:color-mix(in oklch,var(--bs-bg) 90%,transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width >= 576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.grid-cols-sm-3{--bs-columns:3}.grid-cols-sm-4{--bs-columns:4}.grid-cols-sm-6{--bs-columns:6}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (width >= 768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.grid-cols-md-3{--bs-columns:3}.grid-cols-md-4{--bs-columns:4}.grid-cols-md-6{--bs-columns:6}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (width >= 1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.grid-cols-lg-3{--bs-columns:3}.grid-cols-lg-4{--bs-columns:4}.grid-cols-lg-6{--bs-columns:6}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (width >= 1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.grid-cols-xl-3{--bs-columns:3}.grid-cols-xl-4{--bs-columns:4}.grid-cols-xl-6{--bs-columns:6}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (width >= 1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.grid-cols-2xl-3{--bs-columns:3}.grid-cols-2xl-4{--bs-columns:4}.grid-cols-2xl-6{--bs-columns:6}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}
 /*# sourceMappingURL=bootstrap-utilities.min.css.map */
\ No newline at end of file
index f35b77ff8694179840927c696cf72e369f75d844..2f93cdc6cc9eaab12e2011d9cf67255875970514 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap-utilities.css","../../scss/mixins/_color-mode.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer helpers {\n  .text-bg-primary {\n    color: var(--bs-primary-text);\n    --bs-bg: var(--bs-primary-bg-subtle);\n  }\n  .text-bg-accent {\n    color: var(--bs-accent-text);\n    --bs-bg: var(--bs-accent-bg-subtle);\n  }\n  .text-bg-success {\n    color: var(--bs-success-text);\n    --bs-bg: var(--bs-success-bg-subtle);\n  }\n  .text-bg-danger {\n    color: var(--bs-danger-text);\n    --bs-bg: var(--bs-danger-bg-subtle);\n  }\n  .text-bg-warning {\n    color: var(--bs-warning-text);\n    --bs-bg: var(--bs-warning-bg-subtle);\n  }\n  .text-bg-info {\n    color: var(--bs-info-text);\n    --bs-bg: var(--bs-info-bg-subtle);\n  }\n  .text-bg-inverse {\n    color: var(--bs-inverse-text);\n    --bs-bg: var(--bs-inverse-bg-subtle);\n  }\n  .text-bg-secondary {\n    color: var(--bs-secondary-text);\n    --bs-bg: var(--bs-secondary-bg-subtle);\n  }\n}\n@layer helpers {\n  .link-primary {\n    --bs-link-color: var(--bs-primary-text);\n  }\n  .link-primary:hover, .link-primary:focus {\n    --bs-link-color: var(--bs-primary-text-emphasis);\n    --bs-link-hover-color: var(--bs-primary-text-emphasis);\n  }\n  .link-accent {\n    --bs-link-color: var(--bs-accent-text);\n  }\n  .link-accent:hover, .link-accent:focus {\n    --bs-link-color: var(--bs-accent-text-emphasis);\n    --bs-link-hover-color: var(--bs-accent-text-emphasis);\n  }\n  .link-success {\n    --bs-link-color: var(--bs-success-text);\n  }\n  .link-success:hover, .link-success:focus {\n    --bs-link-color: var(--bs-success-text-emphasis);\n    --bs-link-hover-color: var(--bs-success-text-emphasis);\n  }\n  .link-danger {\n    --bs-link-color: var(--bs-danger-text);\n  }\n  .link-danger:hover, .link-danger:focus {\n    --bs-link-color: var(--bs-danger-text-emphasis);\n    --bs-link-hover-color: var(--bs-danger-text-emphasis);\n  }\n  .link-warning {\n    --bs-link-color: var(--bs-warning-text);\n  }\n  .link-warning:hover, .link-warning:focus {\n    --bs-link-color: var(--bs-warning-text-emphasis);\n    --bs-link-hover-color: var(--bs-warning-text-emphasis);\n  }\n  .link-info {\n    --bs-link-color: var(--bs-info-text);\n  }\n  .link-info:hover, .link-info:focus {\n    --bs-link-color: var(--bs-info-text-emphasis);\n    --bs-link-hover-color: var(--bs-info-text-emphasis);\n  }\n  .link-inverse {\n    --bs-link-color: var(--bs-inverse-text);\n  }\n  .link-inverse:hover, .link-inverse:focus {\n    --bs-link-color: var(--bs-inverse-text-emphasis);\n    --bs-link-hover-color: var(--bs-inverse-text-emphasis);\n  }\n  .link-secondary {\n    --bs-link-color: var(--bs-secondary-text);\n  }\n  .link-secondary:hover, .link-secondary:focus {\n    --bs-link-color: var(--bs-secondary-text-emphasis);\n    --bs-link-hover-color: var(--bs-secondary-text-emphasis);\n  }\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));\n  }\n  .link-body-emphasis:hover, .link-body-emphasis:focus {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));\n  }\n}\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: 0.25;\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    -o-object-fit: contain;\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    -o-object-fit: cover;\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    -o-object-fit: fill;\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    -o-object-fit: scale-down;\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    -o-object-fit: none;\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: -moz-fit-content;\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: -moz-fit-content;\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    -moz-column-gap: 0;\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    -moz-column-gap: 0.25rem;\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    -moz-column-gap: 0.5rem;\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    -moz-column-gap: 1.5rem;\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    -moz-column-gap: 3rem;\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    -webkit-user-select: all;\n    user-select: all;\n  }\n  .user-select-auto {\n    -webkit-user-select: auto;\n    user-select: auto;\n  }\n  .user-select-none {\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $new-theme-colors {\n    .text-bg-#{$color} {\n      color: var(--#{$prefix}#{$color}-text);\n      --#{$prefix}bg: var(--#{$prefix}#{$color}-bg-subtle);\n      // color: color-contrast($value);\n      // background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1));\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n\n@layer helpers {\n  @each $color, $value in $new-theme-colors {\n    .link-#{$color} {\n      --#{$prefix}link-color: var(--#{$prefix}#{$color}-text);\n      // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          --#{$prefix}link-color: var(--#{$prefix}#{$color}-text-emphasis);\n          --#{$prefix}link-hover-color: var(--#{$prefix}#{$color}-text-emphasis);\n          // $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          // color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap-utilities.css","../../scss/mixins/_color-mode.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --bs-blue-500: oklch(60% 0.24 240deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-hr-border-color: var(--bs-border-color);\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: 1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n  color-scheme: light;\n  --bs-root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n  color-scheme: dark;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: var(--bs-border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    -o-object-fit: contain;\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    -o-object-fit: cover;\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    -o-object-fit: fill;\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    -o-object-fit: scale-down;\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    -o-object-fit: none;\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: -moz-fit-content;\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: -moz-fit-content;\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    -moz-column-gap: 0;\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    -moz-column-gap: 0.25rem;\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    -moz-column-gap: 0.5rem;\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    -moz-column-gap: 1.5rem;\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    -moz-column-gap: 3rem;\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .theme-contrast {\n    background-color: var(--bs-theme-bg);\n    color: var(--bs-theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--bs-theme-bg-subtle);\n    color: var(--bs-theme-text);\n  }\n  .theme-muted {\n    background-color: var(--bs-theme-bg-muted);\n    color: var(--bs-theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--bs-border-width) solid var(--bs-theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    -webkit-user-select: all;\n    user-select: all;\n  }\n  .user-select-auto {\n    -webkit-user-select: auto;\n    user-select: auto;\n  }\n  .user-select-none {\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 355227c7321be55bb7594304166b8674f88a9015..52b1329c59adbdc2803aa71c3c3be0ef85ed4f1d 100644 (file)
@@ -5,19 +5,19 @@
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
-  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));
-  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));
-  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));
-  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));
-  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));
-  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));
-  --bs-blue-500: oklch(60% 0.24 258deg);
-  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));
-  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));
-  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));
-  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));
-  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));
-  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));
+  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));
+  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));
+  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));
+  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));
+  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));
+  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));
+  --bs-blue-500: oklch(60% 0.24 240deg);
+  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));
+  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));
+  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));
+  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));
+  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));
+  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));
   --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));
   --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));
   --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));
 
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
-  color-scheme: light dark;
+  --bs-black: #000;
+  --bs-white: #fff;
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
   --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-border-white: var(--bs-white);
   --bs-border-black: var(--bs-black);
-  --bs-black: #000;
-  --bs-white: #fff;
+  color-scheme: light dark;
 }
 
 :root,
 [data-bs-theme=light] {
-  color-scheme: light;
   --bs-white-rgb: to-rgb(#fff);
   --bs-black-rgb: to-rgb(#000);
   --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
   --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-root-font-size: 16px;
   --bs-body-font-family: var(--bs-font-sans-serif);
   --bs-font-size-base: 14px;
   --bs-font-size-xs: .75rem;
   --bs-body-color-rgb: to-rgb(var(--bs-color-body));
   --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));
   --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
   --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
   --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
   --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
   --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: -1px;
+  --bs-focus-ring-offset: 1px;
   --bs-focus-ring-color: var(--bs-primary-focus-ring);
   --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
   --bs-form-valid-color: var(--bs-success);
   --bs-form-valid-border-color: var(--bs-success);
   --bs-form-invalid-color: var(--bs-danger);
   --bs-form-invalid-border-color: var(--bs-danger);
+  color-scheme: light;
+  --bs-root-font-size: 16px;
 }
 
 [data-bs-theme=dark] {
-  color-scheme: dark;
   --bs-emphasis-color: #fff;
   --bs-emphasis-color-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
   --bs-form-valid-border-color: var(--bs-green-300);
   --bs-form-invalid-color: var(--bs-red-300);
   --bs-form-invalid-border-color: var(--bs-red-300);
+  color-scheme: dark;
 }
 
 @layer reboot {
   }
   hr {
     margin: 1rem 0;
-    color: inherit;
     border: 0;
-    border-block-start: var(--bs-border-width) solid;
-    opacity: 0.25;
+    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);
   }
   h6,
   .h6, h5,
     top: -0.5em;
   }
   a {
-    color: var(--bs-link-color);
+    color: var(--bs-theme-text, var(--bs-link-color));
     -webkit-text-decoration: var(--bs-link-decoration);
     text-decoration: var(--bs-link-decoration);
     text-underline-offset: 0.2em;
   }
   a:hover {
-    color: var(--bs-link-hover-color);
+    color: var(--bs-theme-text-emphasis, var(--bs-link-hover-color));
     -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));
     text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));
   }
     padding: 0.1875rem 0.375rem;
     font-size: 95%;
     color: var(--bs-bg-body);
-    background-color: var(--bs-color-body);
+    background-color: var(--bs-fg-body);
     border-radius: 0.375rem;
   }
   kbd kbd {
   .prose hr {
     margin: calc(var(--bs-content-gap) * 1.5) 0;
     border: 0;
-    border-block-start: 1px solid var(--bs-border-color);
-  }
-  .prose h1,
-  .prose h2,
-  .prose h3,
-  .prose h4,
-  .prose h5,
-  .prose h6 {
+    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);
+  }
+  .prose h1:not([class]),
+  .prose h2:not([class]),
+  .prose h3:not([class]),
+  .prose h4:not([class]),
+  .prose h5:not([class]),
+  .prose h6:not([class]) {
     margin-top: 0;
     margin-bottom: calc(var(--bs-content-gap) / -2);
     font-weight: 500;
     line-height: 1.25;
   }
-  .prose h1 code,
-  .prose h2 code,
-  .prose h3 code,
-  .prose h4 code,
-  .prose h5 code,
-  .prose h6 code {
+  .prose h1:not([class]) code,
+  .prose h2:not([class]) code,
+  .prose h3:not([class]) code,
+  .prose h4:not([class]) code,
+  .prose h5:not([class]) code,
+  .prose h6:not([class]) code {
     font-weight: 600;
     color: inherit;
   }
     font-size: 1.75em;
   }
   .prose h3 {
-    margin-bottom: calc(var(--bs-content-gap) / 4);
     font-size: 1.5em;
   }
   .prose h4 {
     --bs-control-border-color: var(--bs-border-color);
     --bs-control-border-radius: var(--bs-border-radius);
     --bs-control-select-bg-color: var(--bs-gray-600);
-    --bs-control-select-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--bs-gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+    --bs-control-select-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
     --bs-control-select-bg-position: right 0.75rem center;
     --bs-control-select-bg-size: 16px 12px;
     display: block;
     cursor: pointer;
   }
   .form-control:focus-visible {
+    --bs-focus-ring-offset: -1px;
     color: var(--bs-color-body);
     background-color: var(--bs-bg-body);
     border-color: var(--bs-primary-border);
   .form-control-color.form-control-lg {
     height: 3rem;
   }
+  .form-ghost {
+    display: block;
+    width: 100%;
+    padding: 0;
+    font: inherit;
+    color: inherit;
+    -webkit-appearance: none;
+    appearance: none;
+    background: transparent;
+    border: 0;
+  }
+  .form-ghost:focus {
+    outline: 0;
+  }
+  .form-ghost::placeholder {
+    color: var(--bs-fg-3);
+    opacity: 1;
+  }
+  .form-ghost:disabled {
+    color: var(--bs-fg-4);
+    cursor: not-allowed;
+  }
 }
 @layer forms {
   b-checkgroup {
     background-color: var(--bs-theme-bg, var(--bs-check-checked-bg));
     border-color: var(--bs-theme-bg, var(--bs-check-checked-border-color));
   }
+  .check :where(input:focus-visible) {
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
   .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {
     display: block;
     color: var(--bs-primary-contrast);
     color: var(--bs-secondary-text);
     cursor: default;
   }
+  .radio:focus-visible {
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
 }
 @layer forms {
   .switch {
     -webkit-appearance: none;
     appearance: none;
     background-color: transparent;
+    outline: 0;
+  }
+  .switch:focus-within {
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
   }
   .switch:has(input:checked) {
     padding-inline-start: calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding));
-    background-color: var(--bs-switch-checked-bg);
-    border-color: var(--bs-switch-checked-border-color);
+    background-color: var(--bs-theme-bg, var(--bs-switch-checked-bg));
+    border-color: var(--bs-theme-bg, var(--bs-switch-checked-border-color));
   }
   .switch:has(input:disabled) {
     --bs-switch-bg: var(--bs-switch-disabled-bg);
 @layer forms {
   .form-range {
     width: 100%;
-    height: add(1rem, 0.5em);
+    height: calc(1rem + var(--bs-focus-ring-width) * 2);
     padding: 0;
     -webkit-appearance: none;
     appearance: none;
     outline: 0;
   }
   .form-range:focus::-webkit-slider-thumb {
-    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+    --bs-focus-ring-offset: 1px;
   }
   .form-range:focus::-moz-range-thumb {
-    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+    --bs-focus-ring-offset: 1px;
   }
   .form-range::-moz-focus-outer {
     border: 0;
     border-start-end-radius: 0;
     border-end-end-radius: 0;
   }
-  .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+  .input-group > :not(:first-child):not(.dropdown-menu) {
     margin-inline-start: calc(-1 * var(--bs-border-width));
     border-start-start-radius: 0;
     border-end-start-radius: 0;
     border-end-start-radius: 0;
   }
 }
+@layer forms {
+  .strength {
+    --bs-strength-height: 0.375rem;
+    --bs-strength-gap: 0.25rem;
+    --bs-strength-bg: var(--bs-bg-2);
+    --bs-strength-border-radius: var(--bs-border-radius-pill);
+    --bs-strength-color: var(--bs-bg-2);
+    display: flex;
+    gap: var(--bs-strength-gap);
+    width: 100%;
+    margin-top: 0.25rem;
+  }
+  .strength-segment {
+    flex: 1;
+    height: var(--bs-strength-height);
+    background-color: var(--bs-strength-bg);
+    border-radius: var(--bs-strength-border-radius);
+    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .strength-segment {
+      transition: none;
+    }
+  }
+  .strength-segment.active {
+    background-color: var(--bs-strength-color);
+  }
+  .strength[data-bs-strength=weak] {
+    --bs-strength-color: var(--bs-danger-bg);
+  }
+  .strength[data-bs-strength=fair] {
+    --bs-strength-color: var(--bs-warning-bg);
+  }
+  .strength[data-bs-strength=good] {
+    --bs-strength-color: var(--bs-info-bg);
+  }
+  .strength[data-bs-strength=strong] {
+    --bs-strength-color: var(--bs-success-bg);
+  }
+  .strength-text {
+    display: block;
+    margin-top: 0.25rem;
+    font-size: 0.875em;
+    color: var(--bs-strength-color, var(--bs-secondary-color));
+    transition: color 0.2s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .strength-text {
+      transition: none;
+    }
+  }
+  .strength-text:empty {
+    display: none;
+  }
+  .strength-bar {
+    --bs-strength-height: 0.375rem;
+    --bs-strength-bg: var(--bs-bg-2);
+    --bs-strength-border-radius: var(--bs-border-radius-pill);
+    --bs-strength-color: transparent;
+    --bs-strength-width: 0%;
+    width: 100%;
+    height: var(--bs-strength-height);
+    margin-top: 0.25rem;
+    overflow: hidden;
+    background-color: var(--bs-strength-bg);
+    border-radius: var(--bs-strength-border-radius);
+  }
+  .strength-bar::after {
+    display: block;
+    width: var(--bs-strength-width);
+    height: 100%;
+    content: "";
+    background-color: var(--bs-strength-color);
+    border-radius: var(--bs-strength-border-radius);
+    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .strength-bar::after {
+      transition: none;
+    }
+  }
+  .strength-bar[data-bs-strength=weak] {
+    --bs-strength-color: var(--bs-danger-bg);
+    --bs-strength-width: 25%;
+  }
+  .strength-bar[data-bs-strength=fair] {
+    --bs-strength-color: var(--bs-warning-bg);
+    --bs-strength-width: 50%;
+  }
+  .strength-bar[data-bs-strength=good] {
+    --bs-strength-color: var(--bs-info-bg);
+    --bs-strength-width: 75%;
+  }
+  .strength-bar[data-bs-strength=strong] {
+    --bs-strength-color: var(--bs-success-bg);
+    --bs-strength-width: 100%;
+  }
+}
+@layer forms {
+  .otp {
+    --bs-otp-size: 3rem;
+    --bs-otp-font-size: 17.5px;
+    --bs-otp-gap: 0.5rem;
+    display: inline-flex;
+    gap: var(--bs-otp-gap);
+  }
+  .otp .form-control {
+    width: var(--bs-otp-size);
+    min-height: var(--bs-otp-size);
+    padding: 0;
+    font-size: var(--bs-otp-font-size);
+    font-weight: 500;
+    line-height: 1;
+    text-align: center;
+  }
+  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {
+    margin: 0;
+    -webkit-appearance: none;
+    appearance: none;
+  }
+  .otp .form-control[type=number] {
+    -webkit-appearance: textfield;
+    appearance: textfield;
+  }
+  .otp .form-control:focus, .otp .form-control:focus-visible {
+    z-index: 1;
+  }
+  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {
+    border-color: var(--bs-form-valid-border-color);
+  }
+  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {
+    --bs-focus-ring-color: rgba(var(--bs-success-rgb), .25);
+    border-color: var(--bs-form-valid-border-color);
+  }
+  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {
+    border-color: var(--bs-form-invalid-border-color);
+  }
+  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {
+    --bs-focus-ring-color: rgba(var(--bs-danger-rgb), .25);
+    border-color: var(--bs-form-invalid-border-color);
+  }
+  .otp.input-group {
+    gap: 0;
+    width: auto;
+  }
+  .otp.input-group .form-control {
+    flex: 0 0 auto;
+  }
+  .otp-separator {
+    display: flex;
+    align-items: center;
+    padding-inline: var(--bs-otp-gap);
+    font-size: var(--bs-otp-font-size);
+    color: var(--bs-fg-4);
+    -webkit-user-select: none;
+    user-select: none;
+  }
+  .otp-sm {
+    --bs-otp-size: 2.25rem;
+    --bs-otp-font-size: 14px;
+  }
+  .otp-lg {
+    --bs-otp-size: 3.5rem;
+    --bs-otp-font-size: 21.875px;
+  }
+}
+@layer forms {
+  .form-adorn {
+    --bs-control-min-height: 2.5rem;
+    --bs-control-padding-y: 0.375rem;
+    --bs-control-padding-x: 0.75rem;
+    --bs-control-font-size: 14px;
+    --bs-control-line-height: 1.5;
+    --bs-control-color: var(--bs-color-body);
+    --bs-control-bg: var(--bs-bg-body);
+    --bs-control-border-width: var(--bs-border-width);
+    --bs-control-border-color: var(--bs-border-color);
+    --bs-control-border-radius: var(--bs-border-radius);
+    --bs-form-adorn-gap: 0.375rem;
+    --bs-form-adorn-icon-size: 1rem;
+    --bs-form-adorn-icon-color: var(--bs-fg-2);
+    display: flex;
+    gap: var(--bs-form-adorn-gap);
+    align-items: center;
+    min-height: var(--bs-control-min-height);
+    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);
+    font-size: var(--bs-control-font-size);
+    line-height: var(--bs-control-line-height);
+    color: var(--bs-control-color);
+    background-color: var(--bs-control-bg);
+    background-clip: padding-box;
+    border: var(--bs-control-border-width) solid var(--bs-control-border-color);
+    border-radius: var(--bs-control-border-radius);
+    box-shadow: var(--bs-box-shadow-inset);
+    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .form-adorn {
+      transition: none;
+    }
+  }
+  .form-adorn:focus-within {
+    --bs-focus-ring-offset: -1px;
+    border-color: var(--bs-primary-border);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .form-adorn > .form-ghost {
+    flex: 1;
+    min-width: 0;
+  }
+  .form-adorn.form-adorn-end > .form-ghost {
+    order: -1;
+  }
+  .form-adorn-icon {
+    display: flex;
+    flex-shrink: 0;
+    align-items: center;
+    justify-content: center;
+    color: var(--bs-form-adorn-icon-color);
+    pointer-events: none;
+  }
+  .form-adorn-icon > svg {
+    width: var(--bs-form-adorn-icon-size);
+    height: var(--bs-form-adorn-icon-size);
+  }
+  .form-adorn-text {
+    flex-shrink: 0;
+    color: var(--bs-form-adorn-icon-color);
+    pointer-events: none;
+    -webkit-user-select: none;
+    user-select: none;
+  }
+  .form-adorn-sm {
+    --bs-control-min-height: 2rem;
+    --bs-control-padding-y: 0.25rem;
+    --bs-control-padding-x: 0.5rem;
+    --bs-control-font-size: 12.25px;
+    --bs-control-line-height: 1.25;
+    --bs-control-border-radius: var(--bs-border-radius-sm);
+  }
+  .form-adorn-lg {
+    --bs-control-min-height: 3rem;
+    --bs-control-padding-y: 0.5rem;
+    --bs-control-padding-x: 1rem;
+    --bs-control-font-size: 17.5px;
+    --bs-control-line-height: 2;
+    --bs-control-border-radius: var(--bs-border-radius-lg);
+  }
+}
 @layer components {
   .tooltip {
     --bs-tooltip-zindex: 1080;
   .was-validated .form-control:valid, .form-control.is-valid {
     border-color: var(--bs-form-valid-border-color);
     padding-inline-end: add(1.5em, 0.75rem);
-    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--bs-success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
     background-repeat: no-repeat;
     background-position: right add(0.375em, 0.1875rem) center;
     background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);
   }
   .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
     border-color: var(--bs-form-valid-border-color);
-    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);
+    box-shadow: var(--bs-box-shadow-inset);
   }
   .was-validated textarea.form-control:valid, textarea.form-control.is-valid {
     padding-inline-end: add(1.5em, 0.75rem);
   .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
     background-color: var(--bs-form-valid-color);
   }
-  .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
-    box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);
-  }
   .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
     color: var(--bs-form-valid-color);
   }
   .was-validated .form-control:invalid, .form-control.is-invalid {
     border-color: var(--bs-form-invalid-border-color);
     padding-inline-end: add(1.5em, 0.75rem);
-    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--bs-danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--bs-danger%29' stroke='none'/%3e%3c/svg%3e");
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e");
     background-repeat: no-repeat;
     background-position: right add(0.375em, 0.1875rem) center;
     background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);
   }
   .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
     border-color: var(--bs-form-invalid-border-color);
-    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);
+    box-shadow: var(--bs-box-shadow-inset);
   }
   .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
     padding-inline-end: add(1.5em, 0.75rem);
   .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
     background-color: var(--bs-form-invalid-color);
   }
-  .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
-    box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);
-  }
   .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
     color: var(--bs-form-invalid-color);
   }
     --bs-btn-min-height: 2.25rem;
     --bs-btn-padding-x: 0.75rem;
     --bs-btn-padding-y: 0.375rem;
-    --bs-btn-font-family: ;
-    --bs-btn-font-size: 14px;
-    --bs-btn-font-weight: 400;
-    --bs-btn-line-height: 1.5;
-    --bs-btn-color: var(--bs-color-body);
+    --bs-btn-font-size: var(--bs-font-size-base);
+    --bs-btn-font-weight: var(--bs-font-weight-normal);
+    --bs-btn-line-height: var(--bs-line-height-base);
+    --bs-btn-color: var(--bs-fg-body);
     --bs-btn-border-width: var(--bs-border-width);
     --bs-btn-border-color: transparent;
     --bs-btn-border-radius: var(--bs-border-radius);
     justify-content: center;
     min-height: var(--bs-btn-min-height);
     padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
-    font-family: var(--bs-btn-font-family);
     font-size: var(--bs-btn-font-size);
     font-weight: var(--bs-btn-font-weight);
     line-height: var(--bs-btn-line-height);
     --bs-btn-bg: transparent;
     --bs-btn-border-color: transparent;
     --bs-btn-hover-color: var(--bs-link-hover-color);
+    --bs-btn-hover-bg: transparent;
     --bs-btn-hover-border-color: transparent;
     --bs-btn-active-color: var(--bs-link-hover-color);
+    --bs-btn-active-bg: transparent;
     --bs-btn-active-border-color: transparent;
-    --bs-btn-disabled-color: var(--bs-gray-600);
+    --bs-btn-disabled-color: var(--bs-fg-3);
     --bs-btn-disabled-border-color: transparent;
-    --bs-btn-box-shadow: 0 0 0 #000;
+    color: var(--bs-theme-text, var(--bs-btn-color));
     -webkit-text-decoration: var(--bs-link-decoration);
     text-decoration: var(--bs-link-decoration);
   }
   .btn-link:focus-visible {
-    color: var(--bs-btn-color);
+    color: var(--bs-theme-text, var(--bs-btn-color));
   }
   .btn-link:hover {
-    color: var(--bs-btn-hover-color);
+    color: var(--bs-theme-text-emphasis, var(--bs-btn-hover-color));
   }
   .btn-xs,
   .btn-group-xs > [class*=btn-] {
     --bs-btn-min-height: 2rem;
     --bs-btn-padding-y: 0.25rem;
     --bs-btn-padding-x: 0.5rem;
-    --bs-btn-font-size: 12.25px;
+    --bs-btn-font-size: var(--bs-font-size-sm);
     --bs-btn-line-height: 1.125rem;
     --bs-btn-border-radius: var(--bs-border-radius-sm);
   }
     --bs-btn-min-height: 2.75rem;
     --bs-btn-padding-y: 0.5rem;
     --bs-btn-padding-x: 1rem;
-    --bs-btn-font-size: 17.5px;
+    --bs-btn-font-size: var(--bs-font-size-md);
     --bs-btn-line-height: 1.25rem;
     --bs-btn-border-radius: var(--bs-border-radius-lg);
   }
     position: relative;
     flex: 1 1 auto;
   }
-  .btn-group > .btn-check:has(input:checked),
-  .btn-group > .btn-check:has(input:focus),
   .btn-group > [class*=btn-]:hover,
-  .btn-group > [class*=btn-]:focus,
+  .btn-group-vertical > [class*=btn-]:hover {
+    z-index: 1;
+  }
+  .btn-group > .btn-check:has(input:checked),
   .btn-group > [class*=btn-]:active,
   .btn-group > [class*=btn-].active,
   .btn-group-vertical > .btn-check:has(input:checked),
-  .btn-group-vertical > .btn-check:has(input:focus),
-  .btn-group-vertical > [class*=btn-]:hover,
-  .btn-group-vertical > [class*=btn-]:focus,
   .btn-group-vertical > [class*=btn-]:active,
   .btn-group-vertical > [class*=btn-].active {
-    z-index: 1;
+    z-index: 2;
+  }
+  .btn-group > .btn-check:has(input:focus),
+  .btn-group > [class*=btn-]:focus,
+  .btn-group-vertical > .btn-check:has(input:focus),
+  .btn-group-vertical > [class*=btn-]:focus {
+    z-index: 3;
   }
   .btn-toolbar {
     display: flex;
   .btn-lg + .dropdown-toggle-split {
     padding-inline: 0.75rem;
   }
-  .btn-group.show .dropdown-toggle {
-    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  }
-  .btn-group.show .dropdown-toggle.btn-link {
-    box-shadow: none;
-  }
   .btn-group-vertical {
     flex-direction: column;
     align-items: flex-start;
     opacity: var(--bs-btn-close-disabled-opacity);
   }
 }
-@layer componenents {
+@layer components {
   .accordion {
     --bs-accordion-color: var(--bs-color-body);
     --bs-accordion-bg: var(--bs-bg-body);
-    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-radius 0.15s ease;
     --bs-accordion-border-color: var(--bs-border-color);
     --bs-accordion-border-width: var(--bs-border-width);
-    --bs-accordion-border-radius: var(--bs-border-radius-lg);
-    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-accordion-border-radius: var(--bs-accordion-radius, var(--bs-border-radius-lg));
     --bs-accordion-btn-padding-x: 1.25rem;
     --bs-accordion-btn-padding-y: 1rem;
     --bs-accordion-btn-color: var(--bs-fg-2);
     --bs-accordion-btn-bg: var(--bs-accordion-bg);
-    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
-    --bs-accordion-btn-icon-width: 1.25rem;
+    --bs-accordion-btn-icon-width: 1rem;
     --bs-accordion-btn-icon-transform: rotate(-180deg);
     --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
-    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);
     --bs-accordion-body-padding-x: 1.25rem;
     --bs-accordion-body-padding-y: 1rem;
     --bs-accordion-active-color: var(--bs-fg);
     --bs-accordion-active-bg: var(--bs-bg-2);
   }
-  .accordion-button {
-    position: relative;
+  .accordion-header {
     display: flex;
     align-items: center;
     width: 100%;
     font-size: 14px;
     color: var(--bs-accordion-btn-color);
     text-align: start;
+    list-style: none;
+    cursor: pointer;
     background-color: var(--bs-accordion-btn-bg);
-    border: 0;
-    border-radius: 0;
-    overflow-anchor: none;
     transition: var(--bs-accordion-transition);
   }
   @media (prefers-reduced-motion: reduce) {
-    .accordion-button {
+    .accordion-header {
       transition: none;
     }
   }
-  .accordion-button:not(.collapsed) {
-    color: var(--bs-accordion-active-color);
-    background-color: var(--bs-accordion-active-bg);
-    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
-  }
-  .accordion-button:not(.collapsed)::after {
-    background-image: var(--bs-accordion-btn-active-icon);
-    transform: var(--bs-accordion-btn-icon-transform);
-  }
-  .accordion-button::after {
+  .accordion-header .accordion-icon {
     flex-shrink: 0;
     width: var(--bs-accordion-btn-icon-width);
     height: var(--bs-accordion-btn-icon-width);
     margin-inline-start: auto;
-    content: "";
-    background-color: var(--bs-accordion-btn-color);
-    -webkit-mask: var(--bs-accordion-btn-icon) no-repeat center 100%;
-    mask: var(--bs-accordion-btn-icon) no-repeat center 100%;
+    color: currentcolor;
     transition: var(--bs-accordion-btn-icon-transition);
   }
   @media (prefers-reduced-motion: reduce) {
-    .accordion-button::after {
+    .accordion-header .accordion-icon {
       transition: none;
     }
   }
-  .accordion-button:hover {
+  .accordion-header:hover {
     z-index: 2;
   }
-  .accordion-button:focus {
+  .accordion-header:focus-visible {
+    position: relative;
     z-index: 3;
-    outline: 0;
-    box-shadow: var(--bs-accordion-btn-focus-box-shadow);
-  }
-  .accordion-header {
-    margin-bottom: 0;
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+    outline-offset: -1px;
   }
   .accordion-item {
     color: var(--bs-accordion-color);
     border-start-start-radius: var(--bs-accordion-border-radius);
     border-start-end-radius: var(--bs-accordion-border-radius);
   }
-  .accordion-item:first-of-type > .accordion-header .accordion-button {
-    border-start-start-radius: var(--bs-accordion-inner-border-radius);
-    border-start-end-radius: var(--bs-accordion-inner-border-radius);
+  .accordion-item:first-of-type > .accordion-header {
+    border-start-start-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));
+    border-start-end-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));
   }
   .accordion-item:not(:first-of-type) {
     border-block-start: 0;
     border-end-start-radius: var(--bs-accordion-border-radius);
     border-end-end-radius: var(--bs-accordion-border-radius);
   }
-  .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
-    border-end-start-radius: var(--bs-accordion-inner-border-radius);
-    border-end-end-radius: var(--bs-accordion-inner-border-radius);
+  .accordion-item:last-of-type > .accordion-header {
+    border-end-start-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));
+    border-end-end-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));
   }
-  .accordion-item:last-of-type > .accordion-collapse {
+  .accordion-item:last-of-type > .accordion-body {
     border-end-start-radius: var(--bs-accordion-border-radius);
     border-end-end-radius: var(--bs-accordion-border-radius);
   }
+  .accordion-item[open] {
+    border-color: var(--bs-theme-border, var(--bs-accordion-border-color));
+  }
+  .accordion-item[open] > .accordion-header {
+    color: var(--bs-theme-text, var(--bs-accordion-active-color));
+    background-color: var(--bs-theme-bg-subtle, var(--bs-accordion-active-bg));
+    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border, var(--bs-accordion-border-color));
+  }
+  .accordion-item[open] > .accordion-header .accordion-icon {
+    transform: var(--bs-accordion-btn-icon-transform);
+  }
+  .accordion-item[open]:last-of-type > .accordion-header {
+    border-end-start-radius: 0;
+    border-end-end-radius: 0;
+  }
   .accordion-body {
     padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
   }
   .accordion-flush > .accordion-item:last-child {
     border-block-end: 0;
   }
-  .accordion-flush > .accordion-item > .accordion-collapse,
-  .accordion-flush > .accordion-item > .accordion-header .accordion-button,
-  .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
+  .accordion-flush > .accordion-item > .accordion-header,
+  .accordion-flush > .accordion-item > .accordion-body {
     border-radius: 0;
   }
 }
 @layer components {
   .alert {
-    --bs-alert-bg: var(--bs-theme-bg-subtle, transparent);
+    --bs-alert-gap: 0.75rem;
+    --bs-alert-bg: var(--bs-theme-bg-subtle, var(--bs-bg-1));
     --bs-alert-padding-x: 1rem;
     --bs-alert-padding-y: 1rem;
-    --bs-alert-margin-bottom: 1rem;
     --bs-alert-color: var(--bs-theme-text, inherit);
-    --bs-alert-border-color: transparent;
-    --bs-alert-border: var(--bs-border-width) solid var(--bs-theme-border, var(--bs-alert-border-color));
+    --bs-alert-border-color: var(--bs-theme-border, var(--bs-border-color));
+    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
     --bs-alert-border-radius: var(--bs-border-radius);
     --bs-alert-link-color: inherit;
-    position: relative;
+    --bs-hr-border-color: var(--bs-theme-border, var(--bs-border-color));
+    display: flex;
+    gap: var(--bs-alert-gap);
+    align-items: start;
     padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
     color: var(--bs-alert-color);
     background-color: var(--bs-alert-bg);
     color: inherit;
   }
   .alert-link {
-    font-weight: 700;
+    font-weight: 600;
     color: var(--bs-alert-link-color);
   }
-  .alert-dismissible {
-    padding-inline-end: 3rem;
-  }
-  .alert-dismissible .btn-close {
-    position: absolute;
-    inset-block-start: 0;
-    inset-inline-end: 0;
-    z-index: 2;
-    padding: 1.25rem 1rem;
-  }
 }
 @layer components {
   .badge {
-    --bs-badge-padding-x: 0.5em;
-    --bs-badge-padding-y: 0.35em;
-    --bs-badge-font-size: 0.75em;
-    --bs-badge-font-weight: 700;
+    --bs-badge-padding-x: 0.625em;
+    --bs-badge-padding-y: 0.25em;
+    --bs-badge-font-size: clamp(12px, 0.75em, 0.75em);
+    --bs-badge-font-weight: 600;
     --bs-badge-color: inherit;
     --bs-badge-bg: var(--bs-bg-2);
     --bs-badge-border-width: 1px;
     --bs-badge-border-color: transparent;
-    --bs-badge-border-radius: var(--bs-border-radius);
-    display: inline-block;
+    --bs-badge-border-radius: var(--bs-border-radius-lg);
+    display: inline-flex;
+    align-items: center;
+    justify-content: center;
+    min-height: 1.375rem;
     padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
     font-size: var(--bs-badge-font-size);
     font-weight: var(--bs-badge-font-weight);
     --bs-breadcrumb-margin-bottom: 1rem;
     --bs-breadcrumb-font-size: ;
     --bs-breadcrumb-bg: ;
-    --bs-breadcrumb-border-radius: ;
-    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
-    --bs-breadcrumb-item-padding-x: 0.5rem;
-    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
+    --bs-breadcrumb-border-radius: var(--bs-border-radius);
+    --bs-breadcrumb-divider-color: var(--bs-fg-4);
+    --bs-breadcrumb-link-padding-x: 0.75rem;
+    --bs-breadcrumb-link-padding-y: 0.25rem;
+    --bs-breadcrumb-link-color: var(--bs-fg-3);
+    --bs-breadcrumb-link-hover-color: var(--bs-fg-2);
+    --bs-breadcrumb-link-hover-bg: var(--bs-bg-1);
+    --bs-breadcrumb-link-active-color: var(--bs-fg-1);
+    --bs-breadcrumb-link-border-radius: var(--bs-border-radius-lg);
     display: flex;
     flex-wrap: wrap;
+    align-items: center;
     padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
-    margin-bottom: var(--bs-breadcrumb-margin-bottom);
     font-size: var(--bs-breadcrumb-font-size);
     list-style: none;
     background-color: var(--bs-breadcrumb-bg);
     border-radius: var(--bs-breadcrumb-border-radius);
   }
-  .breadcrumb-item + .breadcrumb-item {
-    padding-inline-start: var(--bs-breadcrumb-item-padding-x);
+  .breadcrumb-item {
+    display: flex;
   }
-  .breadcrumb-item + .breadcrumb-item::before {
-    float: inline-start;
-    padding-inline-end: var(--bs-breadcrumb-item-padding-x);
+  .breadcrumb-divider {
+    margin-inline: calc(var(--bs-breadcrumb-link-padding-x) / 4);
     color: var(--bs-breadcrumb-divider-color);
-    content: var(--bs-breadcrumb-divider, "/");
   }
-  [dir=rtl] .breadcrumb-item:not(:first-child)::before {
-    content: var(--bs-breadcrumb-divider, "/");
+  .breadcrumb-link {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    min-height: 2.25rem;
+    padding: var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);
+    color: var(--bs-breadcrumb-link-color);
+    text-decoration: none;
+    border-radius: var(--bs-breadcrumb-link-border-radius);
+    transition: 0.1s text-decoration-color ease-in-out;
   }
-  .breadcrumb-item.active {
-    color: var(--bs-breadcrumb-item-active-color);
+  @media (prefers-reduced-motion: reduce) {
+    .breadcrumb-link {
+      transition: none;
+    }
+  }
+  .breadcrumb-link:hover {
+    z-index: 2;
+    color: var(--bs-breadcrumb-link-hover-color);
+    background-color: var(--bs-breadcrumb-link-hover-bg);
+  }
+  .breadcrumb-link.active {
+    color: var(--bs-breadcrumb-link-active-color);
   }
 }
 @layer components {
   .card {
     --bs-card-spacer-y: 1rem;
     --bs-card-spacer-x: 1rem;
-    --bs-card-title-spacer-y: 0.5rem;
-    --bs-card-title-color: ;
     --bs-card-subtitle-color: ;
     --bs-card-border-width: var(--bs-border-width);
     --bs-card-border-color: var(--bs-border-color-translucent);
-    --bs-card-border-radius: var(--bs-border-radius);
+    --bs-card-border-radius: var(--bs-border-radius-lg);
     --bs-card-box-shadow: ;
-    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
-    --bs-card-cap-padding-y: 0.5rem;
+    --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-card-cap-padding-y: 0.75rem;
     --bs-card-cap-padding-x: 1rem;
-    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
+    --bs-card-cap-bg: var(--bs-bg-1);
     --bs-card-cap-color: ;
     --bs-card-height: ;
     --bs-card-color: ;
     --bs-card-bg: var(--bs-bg-body);
     --bs-card-img-overlay-padding: 1rem;
     --bs-card-group-margin: 0.75rem;
+    --bs-card-body-gap: 0.5rem;
     position: relative;
     display: flex;
     flex-direction: column;
     color: var(--bs-color-body);
     word-wrap: break-word;
     background-color: var(--bs-card-bg);
-    background-clip: border-box;
-    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
-    border-radius: var(--bs-card-border-radius);
     box-shadow: var(--bs-card-box-shadow);
   }
   .card > hr {
     margin-inline: 0;
   }
-  .card > .list-group {
-    border-block: inherit;
-  }
-  .card > .list-group:first-child {
-    border-block-start-width: 0;
-    border-start-start-radius: var(--bs-card-inner-border-radius);
-    border-start-end-radius: var(--bs-card-inner-border-radius);
-  }
-  .card > .list-group:last-child {
-    border-block-end-width: 0;
-    border-end-start-radius: var(--bs-card-inner-border-radius);
-    border-end-end-radius: var(--bs-card-inner-border-radius);
-  }
-  .card > .card-header + .list-group,
-  .card > .list-group + .card-footer {
-    border-block-start: 0;
-  }
   .card-body {
+    display: flex;
     flex: 1 1 auto;
+    flex-direction: column;
+    gap: var(--bs-card-body-gap);
+    align-items: flex-start;
     padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
     color: var(--bs-card-color);
+    border: solid var(--bs-theme-bg, var(--bs-card-border-color));
+    border-width: 0 var(--bs-card-border-width);
   }
-  .card-title {
-    margin-bottom: var(--bs-card-title-spacer-y);
-    color: var(--bs-card-title-color);
+  .card-body > * {
+    margin-block: 0;
   }
-  .card-subtitle {
-    margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
-    margin-bottom: 0;
-    color: var(--bs-card-subtitle-color);
+  .card-body,
+  .card-list {
+    border: solid var(--bs-theme-bg, var(--bs-card-border-color));
+    border-width: 0 var(--bs-card-border-width);
   }
-  .card-text:last-child {
-    margin-bottom: 0;
+  .card-body:first-child,
+  .card-list:first-child {
+    border-start-start-radius: var(--bs-card-border-radius);
+    border-start-end-radius: var(--bs-card-border-radius);
+    border-top-width: var(--bs-card-border-width);
   }
-  .card-link:hover {
-    text-decoration: none;
+  .card-body:last-child,
+  .card-list:last-child {
+    border-end-start-radius: var(--bs-card-border-radius);
+    border-end-end-radius: var(--bs-card-border-radius);
+    border-bottom-width: var(--bs-card-border-width);
+  }
+  .card-body:not(:first-child):not(:last-child),
+  .card-list:not(:first-child):not(:last-child) {
+    border-block-end-width: var(--bs-card-border-width);
   }
-  .card-link + .card-link {
-    margin-inline-start: var(--bs-card-spacer-x);
+  .card-subtitle {
+    margin-top: calc(var(--bs-card-body-gap) * -0.5);
   }
   .card-header {
     padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
     margin-bottom: 0;
-    color: var(--bs-card-cap-color);
-    background-color: var(--bs-card-cap-bg);
-    border-block-end: var(--bs-card-border-width) solid var(--bs-card-border-color);
+    color: var(--bs-theme-contrast, var(--bs-card-cap-color));
+    background-color: var(--bs-theme-bg, var(--bs-card-cap-bg));
+    border: var(--bs-card-border-width) solid var(--bs-theme-bg, var(--bs-card-border-color));
   }
   .card-header:first-child {
     border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
   .card-footer {
     padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
     color: var(--bs-card-cap-color);
-    background-color: var(--bs-card-cap-bg);
-    border-block-start: var(--bs-card-border-width) solid var(--bs-card-border-color);
+    background-color: var(--bs-theme-bg, var(--bs-card-cap-bg));
+    border: var(--bs-card-border-width) solid var(--bs-theme-bg, var(--bs-card-border-color));
   }
   .card-footer:last-child {
     border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
   }
-  .card-header-tabs {
+  .card-subtle {
+    border-color: var(--bs-theme-border, var(--bs-card-border-color));
+  }
+  .card-subtle .card-header {
+    color: var(--bs-theme-text-emphasis, currentcolor);
+    background-color: var(--bs-theme-bg-subtle, var(--bs-card-cap-bg));
+    border-color: var(--bs-theme-border, var(--bs-card-border-color));
+  }
+  .card-subtle .card-footer {
+    color: var(--bs-theme-text-emphasis, currentcolor);
+    background-color: var(--bs-theme-bg-subtle, var(--bs-card-cap-bg));
+    border-color: var(--bs-theme-border, var(--bs-card-border-color));
+  }
+  .card-subtle .card-body,
+  .card-subtle .card-list {
+    border-color: var(--bs-theme-border, var(--bs-card-border-color));
+  }
+  .nav.card-header-tabs {
     margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));
     margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
     border-block-end: 0;
   }
-  .card-header-tabs .nav-link.active {
+  .nav.card-header-tabs .nav-link.active {
     background-color: var(--bs-card-bg);
     border-block-end-color: var(--bs-card-bg);
   }
-  .card-header-pills {
-    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));
-  }
   .card-img-overlay {
     position: absolute;
     inset: 0;
   .card-img-top,
   .card-img-bottom {
     width: 100%;
+    outline: var(--bs-card-border-width) solid var(--bs-card-border-color);
+    outline-offset: calc(var(--bs-card-border-width) * -1);
   }
   .card-img,
   .card-img-top {
     border-end-start-radius: var(--bs-card-inner-border-radius);
     border-end-end-radius: var(--bs-card-inner-border-radius);
   }
+  .card-row {
+    flex-direction: row;
+  }
+  .card-row .card-body,
+  .card-row .card-list {
+    border-width: var(--bs-card-border-width) 0;
+    border-radius: 0;
+  }
+  .card-row .card-body:first-child,
+  .card-row .card-list:first-child {
+    border-start-start-radius: var(--bs-card-inner-border-radius);
+    border-end-start-radius: var(--bs-card-inner-border-radius);
+    border-inline-start-width: var(--bs-card-border-width);
+  }
+  .card-row .card-body:last-child,
+  .card-row .card-list:last-child {
+    border-start-end-radius: var(--bs-card-inner-border-radius);
+    border-end-end-radius: var(--bs-card-inner-border-radius);
+    border-inline-end-width: var(--bs-card-border-width);
+  }
+  .card-row .card-body:not(:first-child):not(:last-child),
+  .card-row .card-list:not(:first-child):not(:last-child) {
+    border-inline-end-width: var(--bs-card-border-width);
+  }
+  .card-img-start {
+    border-start-start-radius: var(--bs-card-inner-border-radius);
+    border-end-start-radius: var(--bs-card-inner-border-radius);
+  }
+  .card-img-end {
+    border-start-end-radius: var(--bs-card-inner-border-radius);
+    border-end-end-radius: var(--bs-card-inner-border-radius);
+  }
   .card-group > .card {
     margin-bottom: var(--bs-card-group-margin);
   }
     padding: 0;
     color: #fff;
     text-align: center;
-    background: none;
-    filter: var(--bs-carousel-control-icon-filter);
+    background: none;
+    filter: var(--bs-carousel-control-icon-filter);
+    border: 0;
+    opacity: 0.5;
+    transition: opacity 0.15s ease;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-control-prev,
+    .carousel-control-next {
+      transition: none;
+    }
+  }
+  .carousel-control-prev:hover, .carousel-control-prev:focus,
+  .carousel-control-next:hover,
+  .carousel-control-next:focus {
+    color: #fff;
+    text-decoration: none;
+    outline: 0;
+    opacity: 0.9;
+  }
+  .carousel-control-prev {
+    inset-inline-start: 0;
+  }
+  .carousel-control-next {
+    inset-inline-end: 0;
+  }
+  .carousel-control-prev-icon,
+  .carousel-control-next-icon {
+    display: inline-block;
+    width: 2rem;
+    height: 2rem;
+    background-repeat: no-repeat;
+    background-position: 50%;
+    background-size: 100% 100%;
+  }
+  .carousel-control-prev-icon {
+    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+  }
+  [dir=rtl] .carousel-control-prev-icon {
+    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+  }
+  .carousel-control-next-icon {
+    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+  }
+  [dir=rtl] .carousel-control-next-icon {
+    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+  }
+  .carousel-indicators {
+    position: absolute;
+    inset: auto 0 0;
+    z-index: 2;
+    display: flex;
+    justify-content: center;
+    padding: 0;
+    margin-inline: 15%;
+    margin-bottom: 1rem;
+  }
+  .carousel-indicators [data-bs-target] {
+    box-sizing: content-box;
+    flex: 0 1 auto;
+    width: 30px;
+    height: 3px;
+    padding: 0;
+    margin-inline: 3px;
+    text-indent: -999px;
+    cursor: pointer;
+    background-color: var(--bs-carousel-indicator-active-bg);
+    background-clip: padding-box;
+    border: 0;
+    border-block: 10px solid transparent;
+    opacity: 0.5;
+    transition: opacity 0.6s ease;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-indicators [data-bs-target] {
+      transition: none;
+    }
+  }
+  .carousel-indicators .active {
+    opacity: 1;
+  }
+  .carousel-caption {
+    position: absolute;
+    right: 15%;
+    bottom: 1.25rem;
+    left: 15%;
+    padding-top: 1.25rem;
+    padding-bottom: 1.25rem;
+    color: var(--bs-carousel-caption-color);
+    text-align: center;
+  }
+  .carousel-dark {
+    --bs-carousel-indicator-active-bg: #000;
+    --bs-carousel-caption-color: #000;
+    --bs-carousel-control-icon-filter: invert(1) grayscale(100);
+  }
+  :root,
+  [data-bs-theme=light] {
+    --bs-carousel-indicator-active-bg: #fff;
+    --bs-carousel-caption-color: #fff;
+    --bs-carousel-control-icon-filter: ;
+  }
+  [data-bs-theme=dark] {
+    --bs-carousel-indicator-active-bg: #000;
+    --bs-carousel-caption-color: #000;
+    --bs-carousel-control-icon-filter: invert(1) grayscale(100);
+  }
+}
+@layer components {
+  [data-vc=calendar] {
+    --bs-datepicker-padding: 1rem;
+    --bs-datepicker-bg: var(--bs-bg-body);
+    --bs-datepicker-color: var(--bs-fg-body);
+    --bs-datepicker-border-color: var(--bs-border-color-translucent);
+    --bs-datepicker-border-width: var(--bs-border-width);
+    --bs-datepicker-border-radius: var(--bs-border-radius-lg);
+    --bs-datepicker-box-shadow: var(--bs-box-shadow);
+    --bs-datepicker-font-size: var(--bs-font-size-sm);
+    --bs-datepicker-min-width: 280px;
+    --bs-datepicker-zindex: 1000;
+    --bs-datepicker-header-font-weight: 600;
+    --bs-datepicker-weekday-color: var(--bs-fg-3);
+    --bs-datepicker-day-hover-bg: var(--bs-bg-1);
+    --bs-datepicker-day-selected-bg: var(--bs-primary-bg);
+    --bs-datepicker-day-selected-color: var(--bs-primary-contrast);
+    --bs-datepicker-day-today-bg: var(--bs-bg-2);
+    --bs-datepicker-day-today-color: var(--bs-fg-1);
+    --bs-datepicker-day-disabled-color: var(--bs-fg-4);
+    position: absolute;
+    z-index: var(--bs-datepicker-zindex);
+    box-sizing: border-box;
+    display: flex;
+    flex-direction: column;
+    min-width: var(--bs-datepicker-min-width);
+    padding: var(--bs-datepicker-padding);
+    font-family: var(--bs-font-sans-serif);
+    font-size: var(--bs-datepicker-font-size);
+    color: var(--bs-datepicker-color);
+    color-scheme: light dark;
+    background-color: var(--bs-datepicker-bg);
+    border: var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);
+    border-radius: var(--bs-datepicker-border-radius);
+    box-shadow: var(--bs-datepicker-box-shadow);
+    opacity: 1;
+  }
+  [data-vc=calendar][data-bs-theme=light] {
+    color-scheme: light;
+  }
+  [data-vc=calendar][data-bs-theme=dark] {
+    color-scheme: dark;
+  }
+  [data-vc=calendar] button:focus-visible {
+    position: relative;
+    z-index: 1;
+    outline: var(--bs-focus-ring);
+  }
+  [data-vc-calendar-hidden] {
+    pointer-events: none;
+    opacity: 0;
+  }
+  [data-vc=calendar]:not([data-vc-input]) {
+    position: relative;
+    width: -moz-fit-content;
+    width: fit-content;
+    padding: 0;
+    border: 0;
+    box-shadow: none;
+  }
+  [data-vc-position=bottom] {
+    margin-block-start: 0.25rem;
+  }
+  [data-vc-position=top] {
+    margin-block-end: -0.25rem;
+  }
+  [data-vc-arrow] {
+    position: relative;
+    display: block;
+    width: 2rem;
+    height: 2rem;
+    color: var(--bs-datepicker-color);
+    pointer-events: auto;
+    cursor: pointer;
+    background-color: transparent;
+    border: 0;
+    border-radius: 0.5rem;
+  }
+  [data-vc-arrow]::before {
+    position: absolute;
+    inset: 0.25rem;
+    content: "";
+    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");
+    background-repeat: no-repeat;
+    background-position: center;
+  }
+  [data-vc-arrow]:hover {
+    background-color: var(--bs-datepicker-day-hover-bg);
+  }
+  [data-vc-arrow=prev]::before {
+    transform: rotate(90deg);
+  }
+  [data-vc-arrow=next]::before {
+    transform: rotate(-90deg);
+  }
+  [data-vc=controls] {
+    position: absolute;
+    top: 0;
+    right: 0;
+    left: 0;
+    z-index: 20;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding-top: 1rem;
+    padding-right: 1rem;
+    padding-left: 1rem;
+    pointer-events: none;
+  }
+  [data-vc=grid] {
+    display: flex;
+    flex-grow: 1;
+    flex-wrap: wrap;
+    gap: 1.75rem;
+  }
+  [data-vc=column] {
+    display: flex;
+    flex-grow: 1;
+    flex-direction: column;
+    min-width: 240px;
+  }
+  [data-vc=header] {
+    position: relative;
+    display: flex;
+    align-items: center;
+    margin-bottom: 0.75rem;
+  }
+  [data-vc-header=content] {
+    display: inline-flex;
+    flex-grow: 1;
+    align-items: center;
+    justify-content: center;
+    white-space: pre-wrap;
+  }
+  [data-vc=month],
+  [data-vc=year] {
+    padding: 0.25rem 0.5rem;
+    margin-inline: -0.125rem;
+    font-size: 1rem;
+    font-weight: var(--bs-datepicker-header-font-weight);
+    color: var(--bs-datepicker-color);
+    background-color: transparent;
+    border: 0;
+    border-radius: 0.5rem;
+  }
+  [data-vc=month]:disabled,
+  [data-vc=year]:disabled {
+    color: var(--bs-datepicker-day-disabled-color);
+    pointer-events: none;
+  }
+  [data-vc=month]:hover:not(:disabled),
+  [data-vc=year]:hover:not(:disabled) {
+    background-color: var(--bs-datepicker-day-hover-bg);
+  }
+  [data-vc=content] {
+    display: flex;
+    flex-grow: 1;
+    flex-direction: column;
+  }
+  [data-vc=months],
+  [data-vc=years] {
+    display: grid;
+    flex-grow: 1;
+    grid-template-columns: repeat(var(--bs-vc-columns, 4), minmax(0, 1fr));
+    row-gap: 1rem;
+    -moz-column-gap: 0.25rem;
+    column-gap: 0.25rem;
+    align-items: center;
+  }
+  [data-vc=years] {
+    --bs-vc-columns: 5;
+  }
+  [data-vc-months-month],
+  [data-vc-years-year] {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 2.5rem;
+    padding: 0.25rem;
+    font-size: 0.75rem;
+    font-weight: 600;
+    line-height: 1rem;
+    color: var(--bs-datepicker-weekday-color);
+    text-align: center;
+    word-break: break-all;
+    cursor: pointer;
+    background-color: transparent;
     border: 0;
-    opacity: 0.5;
-    transition: opacity 0.15s ease;
+    border-radius: 0.5rem;
   }
-  @media (prefers-reduced-motion: reduce) {
-    .carousel-control-prev,
-    .carousel-control-next {
-      transition: none;
-    }
-  }
-  .carousel-control-prev:hover, .carousel-control-prev:focus,
-  .carousel-control-next:hover,
-  .carousel-control-next:focus {
-    color: #fff;
-    text-decoration: none;
-    outline: 0;
-    opacity: 0.9;
+  [data-vc-months-month]:disabled,
+  [data-vc-years-year]:disabled {
+    color: var(--bs-datepicker-day-disabled-color);
+    pointer-events: none;
   }
-  .carousel-control-prev {
-    inset-inline-start: 0;
+  [data-vc-months-month]:hover:not(:disabled),
+  [data-vc-years-year]:hover:not(:disabled) {
+    background-color: var(--bs-datepicker-day-hover-bg);
   }
-  .carousel-control-next {
-    inset-inline-end: 0;
+  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],
+  [data-vc-years-year][data-vc-months-month-selected],
+  [data-vc-years-year][data-vc-years-year-selected] {
+    color: var(--bs-datepicker-day-selected-color);
+    background-color: var(--bs-datepicker-day-selected-bg);
   }
-  .carousel-control-prev-icon,
-  .carousel-control-next-icon {
-    display: inline-block;
-    width: 2rem;
-    height: 2rem;
-    background-repeat: no-repeat;
-    background-position: 50%;
-    background-size: 100% 100%;
+  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,
+  [data-vc-years-year][data-vc-months-month-selected]:hover,
+  [data-vc-years-year][data-vc-years-year-selected]:hover {
+    color: var(--bs-datepicker-day-selected-color);
+    background-color: var(--bs-datepicker-day-selected-bg);
   }
-  .carousel-control-prev-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+  [data-vc=week] {
+    display: grid;
+    grid-template-columns: repeat(7, 1fr);
+    justify-items: center;
+    margin-bottom: 0.5rem;
   }
-  [dir=rtl] .carousel-control-prev-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+  [data-vc-week-day] {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 100%;
+    min-width: 1.875rem;
+    padding: 0;
+    margin: 0;
+    font-size: 0.75rem;
+    font-weight: 600;
+    line-height: 1rem;
+    color: var(--bs-datepicker-weekday-color);
+    background-color: transparent;
+    border: 0;
   }
-  .carousel-control-next-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+  button[data-vc-week-day] {
+    cursor: pointer;
   }
-  [dir=rtl] .carousel-control-next-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+  [data-vc=dates] {
+    display: grid;
+    flex-grow: 1;
+    grid-template-columns: repeat(7, 1fr);
+    align-items: center;
+    justify-items: center;
+    pointer-events: none;
   }
-  .carousel-indicators {
-    position: absolute;
-    inset: auto 0 0;
-    z-index: 2;
+  [data-vc-date] {
+    position: relative;
     display: flex;
+    align-items: center;
     justify-content: center;
-    padding: 0;
-    margin-inline: 15%;
-    margin-bottom: 1rem;
+    width: 100%;
+    padding-top: 0.125rem;
+    padding-bottom: 0.125rem;
+    pointer-events: auto;
   }
-  .carousel-indicators [data-bs-target] {
-    box-sizing: content-box;
-    flex: 0 1 auto;
-    width: 30px;
-    height: 3px;
+  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {
+    pointer-events: none;
+  }
+  [data-vc-date-btn] {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 100%;
+    min-width: 1.875rem;
+    height: 100%;
+    min-height: 1.875rem;
     padding: 0;
-    margin-inline: 3px;
-    text-indent: -999px;
+    font-size: 0.75rem;
+    font-weight: 400;
+    line-height: 1rem;
+    color: var(--bs-datepicker-color);
     cursor: pointer;
-    background-color: var(--bs-carousel-indicator-active-bg);
-    background-clip: padding-box;
+    background-color: transparent;
     border: 0;
-    border-block: 10px solid transparent;
+    border-radius: 0.5rem;
+  }
+  [data-vc-date-btn]:hover {
+    background-color: var(--bs-datepicker-day-hover-bg);
+  }
+  [data-vc-date-today] [data-vc-date-btn] {
+    font-weight: 600;
+    color: var(--bs-datepicker-day-today-color);
+    background-color: var(--bs-datepicker-day-today-bg);
+  }
+  [data-vc-date-month=next] [data-vc-date-btn],
+  [data-vc-date-month=prev] [data-vc-date-btn] {
     opacity: 0.5;
-    transition: opacity 0.6s ease;
   }
-  @media (prefers-reduced-motion: reduce) {
-    .carousel-indicators [data-bs-target] {
-      transition: none;
-    }
+  [data-vc-date-disabled] [data-vc-date-btn] {
+    color: var(--bs-datepicker-day-disabled-color);
   }
-  .carousel-indicators .active {
-    opacity: 1;
+  [data-vc-date-hover] [data-vc-date-btn] {
+    background-color: var(--bs-datepicker-day-hover-bg);
+    border-radius: 0;
   }
-  .carousel-caption {
-    position: absolute;
-    right: 15%;
-    bottom: 1.25rem;
-    left: 15%;
-    padding-top: 1.25rem;
-    padding-bottom: 1.25rem;
-    color: var(--bs-carousel-caption-color);
-    text-align: center;
+  [data-vc-date-hover=first] [data-vc-date-btn] {
+    border-start-start-radius: 0.5rem;
+    border-end-start-radius: 0.5rem;
   }
-  .carousel-dark {
-    --bs-carousel-indicator-active-bg: #000;
-    --bs-carousel-caption-color: #000;
-    --bs-carousel-control-icon-filter: invert(1) grayscale(100);
+  [data-vc-date-hover=last] [data-vc-date-btn] {
+    border-start-end-radius: 0.5rem;
+    border-end-end-radius: 0.5rem;
   }
-  :root,
-  [data-bs-theme=light] {
-    --bs-carousel-indicator-active-bg: #fff;
-    --bs-carousel-caption-color: #fff;
-    --bs-carousel-control-icon-filter: ;
+  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {
+    border-radius: 0.5rem;
   }
-  [data-bs-theme=dark] {
-    --bs-carousel-indicator-active-bg: #000;
-    --bs-carousel-caption-color: #000;
-    --bs-carousel-control-icon-filter: invert(1) grayscale(100);
+  [data-vc-date-selected=middle] [data-vc-date-btn] {
+    border-radius: 0;
+    opacity: 0.8;
+  }
+  [data-vc-date-selected] [data-vc-date-btn] {
+    color: var(--bs-datepicker-day-selected-color);
+    background-color: var(--bs-datepicker-day-selected-bg);
+  }
+  [data-vc-date-selected=first] [data-vc-date-btn] {
+    border-top-left-radius: 0.5rem;
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0.5rem;
+  }
+  [data-vc-date-selected=last] [data-vc-date-btn] {
+    border-top-left-radius: 0;
+    border-top-right-radius: 0.5rem;
+    border-bottom-right-radius: 0.5rem;
+    border-bottom-left-radius: 0;
+  }
+  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {
+    border-radius: 0.5rem;
   }
 }
 @layer components {
     --bs-dropdown-link-disabled-color: var(--bs-gray-500);
     --bs-dropdown-header-color: var(--bs-gray-500);
   }
+  .dropdown-submenu {
+    position: relative;
+  }
+  .dropdown-submenu > .dropdown-item {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  .dropdown-submenu > .dropdown-item::after {
+    display: inline-block;
+    flex-shrink: 0;
+    width: 0.375em;
+    height: 0.375em;
+    margin-inline-start: auto;
+    content: "";
+    border-color: currentcolor;
+    border-style: solid;
+    border-width: 0 0.125em 0.125em 0;
+    transform: rotate(-45deg);
+  }
+  [dir=rtl] .dropdown-submenu > .dropdown-item::after {
+    transform: rotate(135deg);
+  }
+  .dropdown-submenu > .dropdown-menu {
+    top: 0;
+    margin-top: calc(-1 * var(--bs-dropdown-padding-y));
+  }
+  .dropdown-submenu:hover > .dropdown-item, .dropdown-submenu:focus-within > .dropdown-item {
+    color: var(--bs-dropdown-link-hover-color);
+    background-color: var(--bs-dropdown-link-hover-bg);
+  }
+  .dropdown-submenu.show > .dropdown-item {
+    color: var(--bs-dropdown-link-hover-color);
+    background-color: var(--bs-dropdown-link-hover-bg);
+  }
 }
 @layer components {
   .list-group {
     display: block;
     padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
     color: var(--bs-theme-text, var(--bs-list-group-color));
-    text-decoration: none;
     background-color: var(--bs-theme-bg-subtle, var(--bs-list-group-bg));
     border: var(--bs-list-group-border-width) solid var(--bs-theme-border, var(--bs-list-group-border-color));
   }
     background-color: var(--bs-nav-link-hover-bg);
   }
   .nav-link:focus-visible {
+    --bs-focus-ring-offset: 1px;
     color: var(--bs-nav-link-hover-color);
     outline: var(--bs-focus-ring);
     outline-offset: var(--bs-focus-ring-offset);
-    --bs-focus-ring-offset: 1px;
   }
   .nav-link.active, .nav-link:active {
     color: var(--bs-nav-link-active-color);
     --bs-navbar-toggler-padding-y: 0.25rem;
     --bs-navbar-toggler-padding-x: 0.75rem;
     --bs-navbar-toggler-font-size: 17.5px;
-    --bs-navbar-toggler-icon-bg: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--bs-color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"));
+    --bs-navbar-toggler-icon-bg: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"));
     --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
     --bs-navbar-toggler-border-radius: var(--bs-border-radius);
-    --bs-navbar-toggler-focus-width: 0.25em;
     --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
     position: relative;
     display: flex;
   .navbar-toggler:hover {
     text-decoration: none;
   }
-  .navbar-toggler:focus {
+  .navbar-toggler:focus-visible {
     text-decoration: none;
-    outline: 0;
-    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
   }
   .navbar-toggler-icon {
     display: inline-block;
     --bs-pagination-hover-border-color: var(--bs-border-color);
     --bs-pagination-focus-color: var(--bs-link-hover-color);
     --bs-pagination-focus-bg: var(--bs-secondary-bg);
-    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);
     --bs-pagination-active-color: var(--bs-primary-contrast);
     --bs-pagination-active-bg: var(--bs-primary-bg);
     --bs-pagination-active-border-color: var(--bs-primary-bg);
     background-color: var(--bs-pagination-hover-bg);
     border-color: var(--bs-pagination-hover-border-color);
   }
-  .page-link:focus {
+  .page-link:focus-visible {
     z-index: 3;
     color: var(--bs-pagination-focus-color);
     background-color: var(--bs-pagination-focus-bg);
-    outline: 0;
-    box-shadow: var(--bs-pagination-focus-box-shadow);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
   }
   .page-link.active, .active > .page-link {
     z-index: 3;
     flex-direction: column;
     justify-content: center;
     overflow: hidden;
-    color: var(--bs-progress-bar-color);
+    color: var(--bs-theme-contrast, var(--bs-progress-bar-color));
     text-align: center;
     white-space: nowrap;
-    background-color: var(--bs-progress-bar-bg);
+    background-color: var(--bs-theme-bg, var(--bs-progress-bar-bg));
     transition: var(--bs-progress-bar-transition);
   }
   @media (prefers-reduced-motion: reduce) {
   }
 }
 
-@layer helpers {
-  .text-bg-primary {
-    color: var(--bs-primary-text);
-    --bs-bg: var(--bs-primary-bg-subtle);
-  }
-  .text-bg-accent {
-    color: var(--bs-accent-text);
-    --bs-bg: var(--bs-accent-bg-subtle);
-  }
-  .text-bg-success {
-    color: var(--bs-success-text);
-    --bs-bg: var(--bs-success-bg-subtle);
-  }
-  .text-bg-danger {
-    color: var(--bs-danger-text);
-    --bs-bg: var(--bs-danger-bg-subtle);
-  }
-  .text-bg-warning {
-    color: var(--bs-warning-text);
-    --bs-bg: var(--bs-warning-bg-subtle);
-  }
-  .text-bg-info {
-    color: var(--bs-info-text);
-    --bs-bg: var(--bs-info-bg-subtle);
-  }
-  .text-bg-inverse {
-    color: var(--bs-inverse-text);
-    --bs-bg: var(--bs-inverse-bg-subtle);
-  }
-  .text-bg-secondary {
-    color: var(--bs-secondary-text);
-    --bs-bg: var(--bs-secondary-bg-subtle);
-  }
-}
-@layer helpers {
-  .link-primary {
-    --bs-link-color: var(--bs-primary-text);
-  }
-  .link-primary:hover, .link-primary:focus {
-    --bs-link-color: var(--bs-primary-text-emphasis);
-    --bs-link-hover-color: var(--bs-primary-text-emphasis);
-  }
-  .link-accent {
-    --bs-link-color: var(--bs-accent-text);
-  }
-  .link-accent:hover, .link-accent:focus {
-    --bs-link-color: var(--bs-accent-text-emphasis);
-    --bs-link-hover-color: var(--bs-accent-text-emphasis);
-  }
-  .link-success {
-    --bs-link-color: var(--bs-success-text);
-  }
-  .link-success:hover, .link-success:focus {
-    --bs-link-color: var(--bs-success-text-emphasis);
-    --bs-link-hover-color: var(--bs-success-text-emphasis);
-  }
-  .link-danger {
-    --bs-link-color: var(--bs-danger-text);
-  }
-  .link-danger:hover, .link-danger:focus {
-    --bs-link-color: var(--bs-danger-text-emphasis);
-    --bs-link-hover-color: var(--bs-danger-text-emphasis);
-  }
-  .link-warning {
-    --bs-link-color: var(--bs-warning-text);
-  }
-  .link-warning:hover, .link-warning:focus {
-    --bs-link-color: var(--bs-warning-text-emphasis);
-    --bs-link-hover-color: var(--bs-warning-text-emphasis);
-  }
-  .link-info {
-    --bs-link-color: var(--bs-info-text);
-  }
-  .link-info:hover, .link-info:focus {
-    --bs-link-color: var(--bs-info-text-emphasis);
-    --bs-link-hover-color: var(--bs-info-text-emphasis);
-  }
-  .link-inverse {
-    --bs-link-color: var(--bs-inverse-text);
-  }
-  .link-inverse:hover, .link-inverse:focus {
-    --bs-link-color: var(--bs-inverse-text-emphasis);
-    --bs-link-hover-color: var(--bs-inverse-text-emphasis);
-  }
-  .link-secondary {
-    --bs-link-color: var(--bs-secondary-text);
-  }
-  .link-secondary:hover, .link-secondary:focus {
-    --bs-link-color: var(--bs-secondary-text-emphasis);
-    --bs-link-hover-color: var(--bs-secondary-text-emphasis);
-  }
-  .link-body-emphasis {
-    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));
-    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));
-  }
-  .link-body-emphasis:hover, .link-body-emphasis:focus {
-    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));
-    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));
-  }
-}
 @layer helpers {
   .focus-ring:focus-visible {
     outline: var(--bs-focus-ring);
     align-self: stretch;
     width: var(--bs-border-width);
     min-height: 1em;
-    background-color: currentcolor;
-    opacity: 0.25;
+    background-color: var(--bs-border-color);
   }
 }
 @layer utilities {
     --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));
     color: var(--bs-fg);
   }
-  .fg-10 {
-    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);
-  }
-  .fg-20 {
-    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);
-  }
-  .fg-30 {
-    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);
-  }
-  .fg-40 {
-    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);
-  }
-  .fg-50 {
-    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);
-  }
-  .fg-60 {
-    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);
-  }
-  .fg-70 {
-    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);
-  }
-  .fg-80 {
-    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);
-  }
-  .fg-90 {
-    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);
-  }
-  .fg-100 {
-    color: var(--bs-fg);
-  }
   .fg-contrast-primary {
     --bs-fg: var(--bs-white);
     color: var(--bs-fg);
     --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));
     color: var(--bs-fg);
   }
+  .fg-10 {
+    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);
+  }
+  .fg-20 {
+    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);
+  }
+  .fg-30 {
+    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);
+  }
+  .fg-40 {
+    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);
+  }
+  .fg-50 {
+    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);
+  }
+  .fg-60 {
+    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);
+  }
+  .fg-70 {
+    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);
+  }
+  .fg-80 {
+    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);
+  }
+  .fg-90 {
+    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);
+  }
+  .fg-100 {
+    color: var(--bs-fg);
+  }
   .link-10 {
     color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);
   }
   .bg-100 {
     background-color: var(--bs-bg);
   }
+  .theme-contrast {
+    background-color: var(--bs-theme-bg);
+    color: var(--bs-theme-contrast);
+  }
+  .theme-subtle {
+    background-color: var(--bs-theme-bg-subtle);
+    color: var(--bs-theme-text);
+  }
+  .theme-muted {
+    background-color: var(--bs-theme-bg-muted);
+    color: var(--bs-theme-text-emphasis);
+  }
+  .theme-border {
+    border: var(--bs-border-width) solid var(--bs-theme-border);
+  }
   .bg-gradient {
     background-image: var(--bs-gradient);
   }
index dfa733ac017a756faa12dfea07bb9f440a027412..859586ba00a98c7e020801241be99d0dfb59fadb 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/_config.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/forms/_form-variables.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholders.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinners.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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qB9nEM;MACE,wBAAA;IrBgoER;IqBjoEM;MACE,wBAAA;IrBmoER;IqBpoEM;MACE,yBAAA;IrBsoER;IqBvoEM;MACE,yBAAA;IrByoER;IqB1oEM;MACE,yBAAA;IrB4oER;IqBroEM;MACE,oBAFS;IrByoEjB;IqBxoEM;MACE,oBAFS;IrB4oEjB;IqB3oEM;MACE,oBAFS;IrB+oEjB;IqB9oEM;MACE,oBAFS;IrBkpEjB;IqBjpEM;MACE,oBAFS;IrBqpEjB;IqBppEM;MACE,oBAFS;IrBwpEjB;IqBvpEM;MACE,oBAFS;IrB2pEjB;IqB1pEM;MACE,oBAFS;IrB8pEjB;IqB7pEM;MACE,oBAFS;IrBiqEjB;IqBhqEM;MACE,qBAFS;IrBoqEjB;IqBnqEM;MACE,qBAFS;IrBuqEjB;EACF;EatvEE;IQuEM;MACE,wBAAA;IrBkrER;IqBnrEM;MACE,wBAAA;IrBqrER;IqBtrEM;MACE,wBAAA;IrBwrER;IqBzrEM;MACE,wBAAA;IrB2rER;IqB5rEM;MACE,wBAAA;IrB8rER;IqB/rEM;MACE,wBAAA;IrBisER;IqBlsEM;MACE,wBAAA;IrBosER;IqBrsEM;MACE,wBAAA;IrBusER;IqBxsEM;MACE,wBAAA;IrB0sER;IqB3sEM;MACE,yBAAA;IrB6sER;IqB9sEM;MACE,yBAAA;IrBgtER;IqBjtEM;MACE,yBAAA;IrBmtER;IqB5sEM;MACE,oBAFS;IrBgtEjB;IqB/sEM;MACE,oBAFS;IrBmtEjB;IqBltEM;MACE,oBAFS;IrBstEjB;IqBrtEM;MACE,oBAFS;IrBytEjB;IqBxtEM;MACE,oBAFS;IrB4tEjB;IqB3tEM;MACE,oBAFS;IrB+tEjB;IqB9tEM;MACE,oBAFS;IrBkuEjB;IqBjuEM;MACE,oBAFS;IrBquEjB;IqBpuEM;MACE,oBAFS;IrBwuEjB;IqBvuEM;MACE,qBAFS;IrB2uEjB;IqB1uEM;MACE,qBAFS;IrB8uEjB;EACF;Ea7zEE;IQuEM;MACE,wBAAA;IrByvER;IqB1vEM;MACE,wBAAA;IrB4vER;IqB7vEM;MACE,wBAAA;IrB+vER;IqBhwEM;MACE,wBAAA;IrBkwER;IqBnwEM;MACE,wBAAA;IrBqwER;IqBtwEM;MACE,wBAAA;IrBwwER;IqBzwEM;MACE,wBAAA;IrB2wER;IqB5wEM;MACE,wBAAA;IrB8wER;IqB/wEM;MACE,wBAAA;IrBixER;IqBlxEM;MACE,yBAAA;IrBoxER;IqBrxEM;MACE,yBAAA;IrBuxER;IqBxxEM;MACE,yBAAA;IrB0xER;IqBnxEM;MACE,oBAFS;IrBuxEjB;IqBtxEM;MACE,oBAFS;IrB0xEjB;IqBzxEM;MACE,oBAFS;IrB6xEjB;IqB5xEM;MACE,oBAFS;IrBgyEjB;IqB/xEM;MACE,oBAFS;IrBmyEjB;IqBlyEM;MACE,oBAFS;IrBsyEjB;IqBryEM;MACE,oBAFS;IrByyEjB;IqBxyEM;MACE,oBAFS;IrB4yEjB;IqB3yEM;MACE,oBAFS;IrB+yEjB;IqB9yEM;MACE,qBAFS;IrBkzEjB;IqBjzEM;MACE,qBAFS;IrBqzEjB;EACF;Eap4EE;IQuEM;MACE,wBAAA;IrBg0ER;IqBj0EM;MACE,wBAAA;IrBm0ER;IqBp0EM;MACE,wBAAA;IrBs0ER;IqBv0EM;MACE,wBAAA;IrBy0ER;IqB10EM;MACE,wBAAA;IrB40ER;IqB70EM;MACE,wBAAA;IrB+0ER;IqBh1EM;MACE,wBAAA;IrBk1ER;IqBn1EM;MACE,wBAAA;IrBq1ER;IqBt1EM;MACE,wBAAA;IrBw1ER;IqBz1EM;MACE,yBAAA;IrB21ER;IqB51EM;MACE,yBAAA;IrB81ER;IqB/1EM;MACE,yBAAA;IrBi2ER;IqB11EM;MACE,oBAFS;IrB81EjB;IqB71EM;MACE,oBAFS;IrBi2EjB;IqBh2EM;MACE,oBAFS;IrBo2EjB;IqBn2EM;MACE,oBAFS;IrBu2EjB;IqBt2EM;MACE,oBAFS;IrB02EjB;IqBz2EM;MACE,oBAFS;IrB62EjB;IqB52EM;MACE,oBAFS;IrBg3EjB;IqB/2EM;MACE,oBAFS;IrBm3EjB;IqBl3EM;MACE,oBAFS;IrBs3EjB;IqBr3EM;MACE,qBAFS;IrBy3EjB;IqBx3EM;MACE,qBAFS;IrB43EjB;EACF;Ea38EE;IQuEM;MACE,wBAAA;IrB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pFI,mBAaG;IAbH,gBAaG;EzEguNT;EyEzpNE;IApFI,UAaG;EzEmuNT;EyE5pNE;IApFI,aAaG;EzEsuNT;EyE/pNE;IApFI,YAaG;EzEyuNT;EyElqNE;IApFI,aAaG;EzE4uNT;EyErqNE;IApFI,UAaG;EzE+uNT;EyExqNE;IApFI,cAkBO;EzE6uNb;EyE3qNE;IApFI,gBAkBO;EzEgvNb;EyE9qNE;IApFI,iBAkBO;EzEmvNb;EyEjrNE;IApFI,gBAkBO;EzEsvNb;EyEprNE;IApFI,gBAkBO;EzEyvNb;EyEvrNE;IApFI,kBAkBO;EzE4vNb;EyE1rNE;IApFI,mBAkBO;EzE+vNb;EyE7rNE;IApFI,kBAkBO;EzEkwNb;EyEhsNE;IApFI,gBAkBO;EzEqwNb;EyEnsNE;IApFI,kBAkBO;EzEwwNb;EyEtsNE;IApFI,mBAkBO;EzE2wNb;EyEzsNE;IApFI,kBAkBO;EzE8wNb;EyE5sNE;IApFI,eAkBO;EzEixNb;EyE/sNE;IApFI,qBAkBO;EzEoxNb;EyEltNE;IApFI,cAkBO;EzEuxNb;EyErtNE;IApFI,aAkBO;EzE0xNb;EyExtNE;IApFI,oBAkBO;EzE6xNb;EyE3tNE;IApFI,cAkBO;EzEgyNb;EyE9tNE;IApFI,kBAkBO;EzEmyNb;EyEjuNE;IApFI,mBAkBO;EzEsyNb;EyEpuNE;IApFI,aAkBO;EzEyyNb;EyEvuNE;IApFI,oBAkBO;EzE4yNb;EyE1uNE;IApFI,iBAkBO;EzE+yNb;EyE7uNE;IApFI,kBAkBO;EzEkzNb;EyEhvNE;IApFI,aAkBO;EzEqzNb;EyEnvNE;IApFI,gCAaG;EzE6zNT;EyEtvNE;IApFI,mCAaG;EzEg0NT;EyEzvNE;IApFI,mCAaG;EzEm0NT;EyE5vNE;IApFI,gBAaG;EzEs0NT;EyE/vNE;IApFI,qHAaG;EzEy0NT;EyElwNE;IApFI,yHAaG;EzE40NT;EyErwNE;IApFI,uHAaG;EzE+0NT;EyExwNE;IApFI,mHAaG;EzEk1NT;EyE3wNE;IApFI,yHAaG;EzEq1NT;EyE9wNE;IApFI,qHAaG;EzEw1NT;EyEjxNE;IApFI,qHAaG;EzE21NT;EyEpxNE;IA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;EyE7oOE;IApFI,cAaG;EzEutOT;EyEhpOE;IApFI,cAaG;EzE0tOT;EyEnpOE;IApFI,eAkBO;EzEwtOb;EyEtpOE;IApFI,iBAkBO;EzE2tOb;EyEzpOE;IApFI,uBAkBO;EzE8tOb;EyE5pOE;IApFI,2BAaG;EzEsuOT;EyE/pOE;IApFI,yBAaG;EzEyuOT;EyElqOE;IApFI,uBAaG;EzE4uOT;EyErqOE;IApFI,8BAaG;EzE+uOT;EyExqOE;IApFI,6BAaG;EzEkvOT;EyE3qOE;IApFI,6BAaG;EzEqvOT;EyE9qOE;IApFI,oBAaG;EzEwvOT;EyEjrOE;IApFI,kBAaG;EzE2vOT;EyEprOE;IApFI,qBAaG;EzE8vOT;EyEvrOE;IApFI,sBAaG;EzEiwOT;EyE1rOE;IApFI,wBAaG;EzEowOT;EyE7rOE;IApFI,sBAaG;EzEuwOT;EyEhsOE;IApFI,oBAaG;EzE0wOT;EyEnsOE;IApFI,uBAaG;EzE6wOT;EyEtsOE;IApFI,qBAaG;EzEgxOT;EyEzsOE;IApFI,mBAaG;EzEmxOT;EyE5sOE;IApFI,qBAaG;EzEsxOT;EyE/sOE;IApFI,oBAaG;EzEyxOT;EyEltOE;IApFI,yBAaG;EzE4xOT;EyErtOE;IApFI,uBAaG;EzE+xOT;EyExtOE;IApFI,qBAaG;EzEkyOT;EyE3tOE;IApFI,4BAaG;EzEqyOT;EyE9tOE;IApFI,2BAaG;EzEwyOT;EyEjuOE;IApFI,sBAaG;EzE2yOT;EyEpuOE;IApFI,gBAaG;EzE8yOT;EyEvuOE;IApFI,sBAaG;EzEizOT;EyE1uOE;IApFI,oBAaG;EzEozOT;EyE7uOE;IApFI,kBAaG;EzEuzOT;EyEhvOE;IApFI,oBAaG;EzE0zOT;EyEnvOE;IApFI,mBAaG;EzE6zOT;EyEtvOE;IApFI,kBAaG;EzEg0OT;EyEzvOE;IApFI,gBAaG;EzEm0OT;EyE5vOE;IApFI,mBAaG;EzEs0OT;EyE/vOE;IApFI,oBAaG;EzEy0OT;EyElwOE;IApFI,eAkBO;EzEu0Ob;EyErwOE;IApFI,eAkBO;EzE00Ob;EyExwOE;IApFI,eAkBO;EzE60Ob;EyE3wOE;IApFI,mBAaG;EzEq1OT;EyE9wOE;IApFI,mBAkBO;EzEm1Ob;EyEjxOE;IApFI,sBAkBO;EzEs1Ob;EyEpxOE;IApFI,qBAkBO;EzEy1Ob;EyEvxOE;IApFI,SAaG;EzEi2OT;EyE1xOE;IApFI,QAaG;EzEo2OT;EyE7xOE;IApFI,QAaG;EzEu2OT;EyEhyOE;IApFI,QAaG;EzE02OT;EyEnyOE;IApFI,QAaG;EzE62OT;EyEtyOE;IApFI,QAaG;EzEg3OT;EyEzyOE;IApFI,QAaG;EzEm3OT;EyE5yOE;IApFI,QAaG;EzEs3OT;EyE/yOE;IApFI,SAaG;EzEy3OT;EyElzOE;IApFI,eAaG;EzE43OT;EyErzOE;IApFI,cAaG;EzE+3OT;EyExzOE;IApFI,YAaG;EzEk4OT;EyE3zOE;IApFI,cAaG;EzEq4OT;EyE9zOE;IApFI,YAaG;EzEw4OT;EyEj0OE;IApFI,YAaG;EzE24OT;EyEp0OE;IApFI,gBAaG;EzE84OT;EyEv0OE;IApFI,sBAaG;EzEi5OT;EyE10OE;IApFI,qBAaG;EzEo5OT;EyE70OE;IApFI,mBAaG;EzEu5OT;EyEh1OE;IApFI,qBAaG;EzE05OT;EyEn1OE;IApFI,mBAaG;EzE65OT;EyEt1OE;IApFI,mBAaG;EzEg6OT;EyEz1OE;IApFI,eAaG;EzEm6OT;EyE51OE;IApFI,qBAaG;EzEs6OT;EyE/1OE;IApFI,oBAaG;EzEy6OT;EyEl2OE;IApFI,kBAaG;EzE46OT;EyEr2OE;IApFI,oBAaG;EzE+6OT;EyEx2OE;IApFI,kBAaG;EzEk7OT;EyE32OE;IApFI,kBAaG;EzEq7OT;EyE92OE;IApFI,qBAaG;EzEw7OT;EyEj3OE;IApFI,2BAaG;EzE27OT;EyEp3OE;IApFI,0BAaG;EzE87OT;EyEv3OE;IApFI,wBAaG;EzEi8OT;EyE13OE;IApFI,0BAaG;EzEo8OT;EyE73OE;IApFI,wBAaG;EzEu8OT;EyEh4OE;IApFI,wBAaG;EzE08OT;EyEn4OE;IApFI,oBAaG;EzE68OT;EyEt4OE;IApFI,0BAaG;EzEg9OT;EyEz4OE;IApFI,yBAaG;EzEm9OT;EyE54OE;IApFI,uBAaG;EzEs9OT;EyE/4OE;IApFI,yBAaG;EzEy9OT;EyEl5OE;IApFI,uBAaG;EzE49OT;EyEr5OE;IApFI,uBAaG;EzE+9OT;EyEx5OE;IApFI,mBAaG;EzEk+OT;EyE35OE;IApFI,yBAaG;EzEq+OT;EyE95OE;IApFI,wBAaG;EzEw+OT;EyEj6OE;IApFI,sBAaG;EzE2+OT;EyEp6OE;IApFI,wBAaG;EzE8+OT;EyEv6OE;IApFI,sBAaG;EzEi/OT;EyE16OE;IApFI,sBAaG;EzEo/OT;EyE76OE;IApFI,sBAaG;EzEu/OT;EyEh7OE;IApFI,4BAaG;EzE0/OT;EyEn7OE;IApFI,2BAaG;EzE6/OT;EyEt7OE;IApFI,yBAaG;EzEggPT;EyEz7OE;IApFI,2BAaG;EzEmgPT;EyE57OE;IApFI,yBAaG;EzEsgPT;EyE/7OE;IApFI,yBAaG;EzEygPT;EyEl8OE;IApFI,UAaG;EzE4gPT;EyEr8OE;IApFI,gBAaG;EzE+gPT;EyEx8OE;IApFI,eAaG;EzEkhPT;EyE38OE;IApFI,aAaG;EzEqhPT;EyE98OE;IApFI,eAaG;EzEwhPT;EyEj9OE;IApFI,aAaG;EzE2hPT;EyEp9OE;IApFI,iBAaG;EzE8hPT;EyEv9OE;IApFI,uBAaG;EzEiiPT;EyE19OE;IApFI,sBAaG;EzEoiPT;EyE79OE;IApFI,oBAaG;EzEuiPT;EyEh+OE;IApFI,sBAaG;EzE0iPT;EyEn+OE;IApFI,oBAaG;EzE6iPT;EyEt+OE;IApFI,gBAaG;EzEgjPT;EyEz+OE;IApFI,sBAaG;EzEmjPT;EyE5+OE;IApFI,qBAaG;EzEsjPT;EyE/+OE;IApFI,mBAaG;EzEyjPT;EyEl/OE;IApFI,qBAaG;EzE4jPT;EyEr/OE;IApFI,mBAaG;EzE+jPT;EyEx/OE;IApFI,sBAaG;EzEkkPT;EyE3/OE;IApFI,4BAaG;EzEqkPT;EyE9/OE;IApFI,2BAaG;EzEwkPT;EyEjgPE;IApFI,yBAaG;EzE2kPT;EyEpgPE;IApFI,2BAaG;EzE8kPT;EyEvgPE;IApFI,yBAaG;EzEilPT;EyE1gPE;IApFI,qBAaG;EzEolPT;EyE7gPE;IApFI,2BAaG;EzEulPT;EyEhhPE;IApFI,0BAaG;EzE0lPT;EyEnhPE;IApFI,wBAaG;EzE6lPT;EyEthPE;IApFI,0BAaG;EzEgmPT;EyEzhPE;IApFI,wBAaG;EzEmmPT;EyE5hPE;IApFI,oBAaG;EzEsmPT;EyE/hPE;IApFI,0BAaG;EzEymPT;EyEliPE;IApFI,yBAaG;EzE4mPT;EyEriPE;IApFI,uBAaG;EzE+mPT;EyExiPE;IApFI,yBAaG;EzEknPT;EyE3iPE;IApFI,uBAaG;EzEqnPT;EyE9iPE;IApFI,uBAaG;EzEwnPT;EyEjjPE;IApFI,6BAaG;EzE2nPT;EyEpjPE;IApFI,4BAaG;EzE8nPT;EyEvjPE;IApFI,0BAaG;EzEioPT;EyE1jPE;IApFI,4BAaG;EzEooPT;EyE7jPE;IApFI,0BAaG;EzEuoPT;EyEhkPE;IApFI,MAaG;EzE0oPT;EyEnkPE;IApFI,YAaG;EzE6oPT;EyEtkPE;IApFI,WAaG;EzEgpPT;EyEzkPE;IApFI,SAaG;EzEmpPT;EyE5kPE;IApFI,WAaG;EzEspPT;EyE/kPE;IApFI,SAaG;EzEypPT;EyEllPE;IApFI,UAaG;EzE4pPT;EyErlPE;IApFI,gBAaG;EzE+pPT;EyExlPE;IApFI,eAaG;EzEkqPT;EyE3lPE;IApFI,aAaG;EzEqqPT;EyE9lPE;IApFI,eAaG;EzEwqPT;EyEjmPE;IApFI,aAaG;EzE2qPT;EyEpmPE;IApFI,kBAaG;IAbH,aAaG;EzE8qPT;EyEvmPE;IApFI,wBAaG;IAbH,mBAaG;EzEirPT;EyE1mPE;IApFI,uBAaG;IAbH,kBAaG;EzEorPT;EyE7mPE;IApFI,qBAaG;IAbH,gBAaG;EzEurPT;EyEhnPE;IApFI,uBAaG;IAbH,kBAaG;EzE0rPT;EyEnnPE;IApFI,qBAaG;IAbH,gBAaG;EzE6rPT;EyEtnPE;IApFI,qCAaG;EzEgsPT;EyEznPE;IApFI,sCAaG;EzEmsPT;EyE5nPE;IApFI,iCAaG;EzEssPT;EyE/nPE;IApFI,iCAaG;EzEysPT;EyEloPE;IApFI,iCAaG;EzE4sPT;EyEroPE;IApFI,iCAaG;EzE+sPT;EyExoPE;IApFI,iCAaG;EzEktPT;EyE3oPE;IApFI,kCAaG;EzEqtPT;EyE9oPE;IApFI,kCAaG;EzEwtPT;EyEjpPE;IApFI,kCAaG;EzE2tPT;EyEppPE;IApFI,kCAaG;EzE8tPT;EyEvpPE;IApFI,kCAaG;EzEiuPT;EyE1pPE;IA7FI,iCAPc;IAOd,qCAPc;EzEkwPpB;EyE9pPE;IA7FI,iCAPc;IAOd,qCAPc;EzEswPpB;EyElqPE;IA7FI,iCAPc;IAOd,qCAPc;EzE0wPpB;EyEtqPE;IA7FI,iCAPc;IAOd,qCAPc;EzE8wPpB;EyE1qPE;IA7FI,iCAPc;IAOd,qCAPc;EzEkxPpB;EyE9qPE;IA7FI,kCAPc;IAOd,sCAPc;EzEsxPpB;EyElrPE;IA7FI,kCAPc;IAOd,sCAPc;EzE0xPpB;EyEtrPE;IA7FI,kCAPc;IAOd,sCAPc;EzE8xPpB;EyE1rPE;IA7FI,kCAPc;IAOd,sCAPc;EzEkyPpB;EyE9rPE;IA7FI,kCAPc;IAOd,sCAPc;EzEsyPpB;EyElsPE;IApFI,kBAkBO;EzEuwPb;EyErsPE;IApFI,kBAkBO;EzE0wPb;EyExsPE;IApFI,oBAaG;EzEkxPT;EyE3sPE;IApFI,gBAaG;EzEqxPT;EyE9sPE;IApFI,gBAaG;EzEwxPT;EyEjtPE;IApFI,gBAaG;EzE2xPT;EyEptPE;IApFI,gBAaG;EzE8xPT;EyEvtPE;IApFI,gBAaG;EzEiyPT;EyE1tPE;IApFI,mBAaG;EzEoyPT;EyE7tPE;IApFI,cAaG;EzEuyPT;EyEhuPE;IApFI,iBAaG;EzE0yPT;EyEnuPE;IApFI,gBAaG;EzE6yPT;EyEtuPE;IApFI,cAaG;EzEgzPT;EyEzuPE;IApFI,iBAaG;EzEmzPT;EyE5uPE;IApFI,eAaG;EzEszPT;EyE/uPE;IApFI,kBAaG;EzEyzPT;EyElvPE;IApFI,qBAkBO;EzEuzPb;EyErvPE;IApFI,0BAkBO;EzE0zPb;EyExvPE;IApFI,6BAkBO;EzE6zPb;EyE3vPE;IApFI,yBAkBO;EzEg0Pb;EyE9vPE;IApFI,yBAkBO;EzEm0Pb;EyEjwPE;IApFI,0BAkBO;EzEs0Pb;EyEpwPE;IApFI,iBAkBO;EzEy0Pb;EyEvwPE;IApFI,mBAkBO;EzE40Pb;EyE1wPE;IApFI,oBAkBO;EzE+0Pb;EyE7wPE;IApFI,mBAkBO;EzEk1Pb;EyEhxPE;IApFI,qBAaG;IAbH,sBAaG;EzE21PT;EyEpxPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzE60Pf;EyExxPE;IA7FI,0GAsBG;IAtBH,mBAwCS;EzEi1Pf;EyE5xPE;IA7FI,6DAsBG;IAtBH,mBAwCS;EzEq1Pf;EyEhyPE;IA7FI,yDAsBG;IAtBH,mBAwCS;EzEy1Pf;EyEpyPE;IA7FI,+DAsBG;IAtBH,mBAwCS;EzE61Pf;EyExyPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEi2Pf;EyE5yPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEq2Pf;EyEhzPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEy2Pf;EyEpzPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzE62Pf;EyExzPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEi3Pf;EyE5zPE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEq3Pf;EyEh0PE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEy3Pf;EyEp0PE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzE63Pf;EyEx0PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzEi4Pf;EyE50PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzEq4Pf;EyEh1PE;IA7FI,gBAsBG;IAtBH,mBAwCS;EzEy4Pf;EyEp1PE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzE64Pf;EyEx1PE;IA7FI,+DAsBG;IAtBH,mBAwCS;EzEi5Pf;EyE51PE;IA7FI,6DAsBG;IAtBH,mBAwCS;EzEq5Pf;EyEh2PE;IA7FI,yDAsBG;IAtBH,mBAwCS;EzEy5Pf;EyEp2PE;IA7FI,+DAsBG;IAtBH,mBAwCS;EzE65Pf;EyEx2PE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEi6Pf;EyE52PE;IA7FI,wDAsBG;IAtBH,mBAwCS;EzEq6Pf;EyEh3PE;IA7FI,2DAsBG;IAtBH,mBAwCS;EzEy6Pf;EyEp3PE;IApFI,yDAaG;EzE87PT;EyEv3PE;IApFI,yDAaG;EzEi8PT;EyE13PE;IApFI,yDAaG;EzEo8PT;EyE73PE;IApFI,yDAaG;EzEu8PT;EyEh4PE;IApFI,yDAaG;EzE08PT;EyEn4PE;IApFI,yDAaG;EzE68PT;EyEt4PE;IApFI,yDAaG;EzEg9PT;EyEz4PE;IApFI,yDAaG;EzEm9PT;EyE54PE;IApFI,yDAaG;EzEs9PT;EyE/4PE;IApFI,mBAaG;EzEy9PT;EyEl5PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzE28Pf;EyEt5PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzE+8Pf;EyE15PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzEm9Pf;EyE95PE;IA7FI,wBAsBG;IAtBH,mBAwCS;EzEu9Pf;EyEl6PE;IA7FI,2BAsBG;IAtBH,mBAwCS;EzE29Pf;EyEt6PE;IA7FI,2BAsBG;IAtBH,mBAwCS;EzE+9Pf;EyE16PE;IA7FI,wDAsBG;IAtBH,mBAwCS;EzEm+Pf;EyE96PE;IA7FI,wDAsBG;IAtBH,mBAwCS;EzEu+Pf;EyEl7PE;IApFI,iEAaG;EzE4/PT;EyE95PM;IA3GA,iEAaG;EzE+/PT;EyEx7PE;IApFI,iEAaG;EzEkgQT;EyEp6PM;IA3GA,iEAaG;EzEqgQT;EyE97PE;IApFI,iEAaG;EzEwgQT;EyE16PM;IA3GA,iEAaG;EzE2gQT;EyEp8PE;IApFI,iEAaG;EzE8gQT;EyEh7PM;IA3GA,iEAaG;EzEihQT;EyE18PE;IApFI,iEAaG;EzEohQT;EyEt7PM;IA3GA,iEAaG;EzEuhQT;EyEh9PE;IApFI,iEAaG;EzE0hQT;EyE57PM;IA3GA,iEAaG;EzE6hQT;EyEt9PE;IApFI,iEAaG;EzEgiQT;EyEl8PM;IA3GA,iEAaG;EzEmiQT;EyE59PE;IApFI,iEAaG;EzEsiQT;EyEx8PM;IA3GA,iEAaG;EzEyiQT;EyEl+PE;IApFI,iEAaG;EzE4iQT;EyE98PM;IA3GA,iEAaG;EzE+iQT;EyEx+PE;IApFI,2BAaG;EzEkjQT;EyEp9PM;IA3GA,2BAaG;EzEqjQT;EyE9+PE;IApFI,8BAaG;EzEwjQT;EyE19PM;IA3GA,8BAaG;EzE2jQT;EyEp/PE;IApFI,6BAaG;EzE8jQT;EyEh+PM;IA3GA,6BAaG;EzEikQT;EyE1/PE;IApFI,8BAaG;EzEokQT;EyEt+PM;IA3GA,8BAaG;EzEukQT;EyEhgQE;IApFI,yEAaG;EzE0kQT;EyEngQE;IApFI,wHAaG;EzE6kQT;EyEtgQE;IApFI,2EAaG;EzEglQT;EyEzgQE;IApFI,uEAaG;EzEmlQT;EyE5gQE;IApFI,6EAaG;EzEslQT;EyE/gQE;IApFI,yEAaG;EzEylQT;EyElhQE;IApFI,yEAaG;EzE4lQT;EyErhQE;IApFI,yEAaG;EzE+lQT;EyExhQE;IApFI,iFAaG;EzEkmQT;EyEpgQM;IA3GA,iFAaG;EzEqmQT;EyE9hQE;IApFI,iFAaG;EzEwmQT;EyE1gQM;IA3GA,iFAaG;EzE2mQT;EyEpiQE;IApFI,iFAaG;EzE8mQT;EyEhhQM;IA3GA,iFAaG;EzEinQT;EyE1iQE;IApFI,iFAaG;EzEonQT;EyEthQM;IA3GA,iFAaG;EzEunQT;EyEhjQE;IApFI,iFAaG;EzE0nQT;EyE5hQM;IA3GA,iFAaG;EzE6nQT;EyEtjQE;IApFI,iFAaG;EzEgoQT;EyEliQM;IA3GA,iFAaG;EzEmoQT;EyE5jQE;IApFI,iFAaG;EzEsoQT;EyExiQM;IA3GA,iFAaG;EzEyoQT;EyElkQE;IApFI,iFAaG;EzE4oQT;EyE9iQM;IA3GA,iFAaG;EzE+oQT;EyExkQE;IApFI,iFAaG;EzEkpQT;EyEpjQM;IA3GA,iFAaG;EzEqpQT;EyE9kQE;IApFI,2CAaG;EzEwpQT;EyE1jQM;IA3GA,2CAaG;EzE2pQT;EyEplQE;IApFI,8BAaG;EzE8pQT;EyEhkQM;IA3GA,8BAaG;EzEiqQT;EyE1lQE;IApFI,8BAaG;EzEoqQT;EyEtkQM;IA3GA,8BAaG;EzEuqQT;EyEhmQE;IApFI,8BAaG;EzE0qQT;EyE5kQM;IA3GA,8BAaG;EzE6qQT;EyEtmQE;IApFI,8BAaG;EzEgrQT;EyEllQM;IA3GA,8BAaG;EzEmrQT;EyE5mQE;IApFI,8BAaG;EzEsrQT;EyExlQM;IA3GA,8BAaG;EzEyrQT;EyElnQE;IA7FI,2BAsBG;IAtBH,8BAwCS;EzE2qQf;EyEtnQE;IA7FI,6BAsBG;IAtBH,8BAwCS;EzE+qQf;EyE1nQE;IA7FI,4BAsBG;IAtBH,8BAwCS;EzEmrQf;EyE9nQE;IA7FI,0BAsBG;IAtBH,8BAwCS;EzEurQf;EyEloQE;IA7FI,6BAsBG;IAtBH,8BAwCS;EzE2rQf;EyEtoQE;IA7FI,2BAsBG;IAtBH,8BAwCS;EzE+rQf;EyE1oQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEmsQf;EyE9oQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEusQf;EyElpQE;IA7FI,wDAsBG;IAtBH,8BAwCS;EzE2sQf;EyEtpQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE+sQf;EyE1pQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEmtQf;EyE9pQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEutQf;EyElqQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE2tQf;EyEtqQE;IA7FI,wBAsBG;IAtBH,8BAwCS;EzE+tQf;EyE1qQE;IA7FI,wBAsBG;IAtBH,8BAwCS;EzEmuQf;EyE9qQE;IA7FI,oBAsBG;IAtBH,8BAwCS;EzEuuQf;EyElrQE;IA7FI,gBAsBG;IAtBH,8BAwCS;EzE2uQf;EyEtrQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE+uQf;EyE1rQE;IA7FI,+DAsBG;IAtBH,8BAwCS;EzEmvQf;EyE9rQE;IA7FI,6DAsBG;IAtBH,8BAwCS;EzEuvQf;EyElsQE;IA7FI,yDAsBG;IAtBH,8BAwCS;EzE2vQf;EyEtsQE;IA7FI,+DAsBG;IAtBH,8BAwCS;EzE+vQf;EyE1sQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEmwQf;EyE9sQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEuwQf;EyEltQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE2wQf;EyEttQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE+wQf;EyE1tQE;IA7FI,+DAsBG;IAtBH,8BAwCS;EzEmxQf;EyE9tQE;IA7FI,6DAsBG;IAtBH,8BAwCS;EzEuxQf;EyEluQE;IA7FI,yDAsBG;IAtBH,8BAwCS;EzE2xQf;EyEtuQE;IA7FI,+DAsBG;IAtBH,8BAwCS;EzE+xQf;EyE1uQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEmyQf;EyE9uQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzEuyQf;EyElvQE;IA7FI,2DAsBG;IAtBH,8BAwCS;EzE2yQf;EyEtvQE;IApFI,oEAaG;EzEg0QT;EyEzvQE;IApFI,oEAaG;EzEm0QT;EyE5vQE;IApFI,oEAaG;EzEs0QT;EyE/vQE;IApFI,oEAaG;EzEy0QT;EyElwQE;IApFI,oEAaG;EzE40QT;EyErwQE;IApFI,oEAaG;EzE+0QT;EyExwQE;IApFI,oEAaG;EzEk1QT;EyE3wQE;IApFI,oEAaG;EzEq1QT;EyE9wQE;IApFI,oEAaG;EzEw1QT;EyEjxQE;IApFI,8BAaG;EzE21QT;EyEpxQE;IApFI,oCAaG;EzE81QT;EyEvxQE;IApFI,wBAkBO;IAlBP,gBAkBO;EzE41Qb;EyE1xQE;IApFI,yBAkBO;IAlBP,iBAkBO;EzE+1Qb;EyE7xQE;IApFI,yBAkBO;IAlBP,iBAkBO;EzEk2Qb;EyEhyQE;IApFI,oBAkBO;EzEq2Qb;EyEnyQE;IApFI,oBAkBO;EzEw2Qb;EyEtyQE;IApFI,sCAaG;EzEg3QT;EyEzyQE;IApFI,gBAaG;EzEm3QT;EyE5yQE;IApFI,yCAaG;EzEs3QT;EyE/yQE;IApFI,sCAaG;EzEy3QT;EyElzQE;IApFI,yCAaG;EzE43QT;EyErzQE;IApFI,yCAaG;EzE+3QT;EyExzQE;IApFI,0CAaG;EzEk4QT;EyE3zQE;IApFI,kBAaG;EzEq4QT;EyE9zQE;IApFI,2CAaG;EzEw4QT;EyEj0QE;IApFI,kDAaG;IAbH,gDAaG;EzE44QT;EyEr0QE;IApFI,4BAaG;IAbH,0BAaG;EzEg5QT;EyEz0QE;IApFI,qDAaG;IAbH,mDAaG;EzEo5QT;EyE70QE;IApFI,kDAaG;IAbH,gDAaG;EzEw5QT;EyEj1QE;IApFI,qDAaG;IAbH,mDAaG;EzE45QT;EyEr1QE;IApFI,qDAaG;IAbH,mDAaG;EzEg6QT;EyEz1QE;IApFI,sDAaG;IAbH,oDAaG;EzEo6QT;EyE71QE;IApFI,8BAaG;IAbH,4BAaG;EzEw6QT;EyEj2QE;IApFI,uDAaG;IAbH,qDAaG;EzE46QT;EyEr2QE;IApFI,8CAaG;IAbH,gDAaG;EzEg7QT;EyEz2QE;IApFI,wBAaG;IAbH,0BAaG;EzEo7QT;EyE72QE;IApFI,iDAaG;IAbH,mDAaG;EzEw7QT;EyEj3QE;IApFI,8CAaG;IAbH,gDAaG;EzE47QT;EyEr3QE;IApFI,iDAaG;IAbH,mDAaG;EzEg8QT;EyEz3QE;IApFI,iDAaG;IAbH,mDAaG;EzEo8QT;EyE73QE;IApFI,kDAaG;IAbH,oDAaG;EzEw8QT;EyEj4QE;IApFI,0BAaG;IAbH,4BAaG;EzE48QT;EyEr4QE;IApFI,mDAaG;IAbH,qDAaG;EzEg9QT;EyEz4QE;IApFI,8CAaG;IAbH,gDAaG;EzEo9QT;EyE74QE;IApFI,wBAaG;IAbH,0BAaG;EzEw9QT;EyEj5QE;IApFI,iDAaG;IAbH,mDAaG;EzE49QT;EyEr5QE;IApFI,8CAaG;IAbH,gDAaG;EzEg+QT;EyEz5QE;IApFI,iDAaG;IAbH,mDAaG;EzEo+QT;EyE75QE;IApFI,iDAaG;IAbH,mDAaG;EzEw+QT;EyEj6QE;IApFI,kDAaG;IAbH,oDAaG;EzE4+QT;EyEr6QE;IApFI,0BAaG;IAbH,4BAaG;EzEg/QT;EyEz6QE;IApFI,mDAaG;IAbH,qDAaG;EzEo/QT;EyE76QE;IApFI,kDAaG;IAbH,gDAaG;EzEw/QT;EyEj7QE;IApFI,4BAaG;IAbH,0BAaG;EzE4/QT;EyEr7QE;IApFI,qDAaG;IAbH,mDAaG;EzEggRT;EyEz7QE;IApFI,kDAaG;IAbH,gDAaG;EzEogRT;EyE77QE;IApFI,qDAaG;IAbH,mDAaG;EzEwgRT;EyEj8QE;IApFI,qDAaG;IAbH,mDAaG;EzE4gRT;EyEr8QE;IApFI,sDAaG;IAbH,oDAaG;EzEghRT;EyEz8QE;IApFI,8BAaG;IAbH,4BAaG;EzEohRT;EyE78QE;IApFI,uDAaG;IAbH,qDAaG;EzEwhRT;EyEj9QE;IApFI,mBAaG;EzE2hRT;EyEp9QE;IApFI,kBAaG;EzE8hRT;EyEv9QE;IApFI,WAaG;EzEiiRT;EyE19QE;IApFI,UAaG;EzEoiRT;EyE79QE;IApFI,UAaG;EzEuiRT;EyEh+QE;IApFI,UAaG;EzE0iRT;EyEn+QE;IApFI,UAaG;EzE6iRT;EapkRE;I4D8FA;MApFI,mBAaG;IzEijRP;IyE1+QA;MApFI,iBAaG;IzEojRP;IyE7+QA;MApFI,WAaG;IzEujRP;IyEh/QA;MApFI,sBAaG;MAbH,mBAaG;IzE0jRP;IyEn/QA;MApFI,oBAaG;MAbH,iBAaG;IzE6jRP;IyEt/QA;MApFI,mBAaG;MAbH,gBAaG;IzEgkRP;IyEz/QA;MApFI,yBAaG;MAbH,sBAaG;IzEmkRP;IyE5/QA;MApFI,mBAaG;MAbH,gBAaG;IzEskRP;IyE//QA;MApFI,eAkBO;IzEokRX;IyElgRA;MApFI,qBAkBO;IzEukRX;IyErgRA;MApFI,cAkBO;IzE0kRX;IyExgRA;MApFI,aAkBO;IzE6kRX;IyE3gRA;MApFI,oBAkBO;IzEglRX;IyE9gRA;MApFI,cAkBO;IzEmlRX;IyEjhRA;MApFI,kBAkBO;IzEslRX;IyEphRA;MApFI,mBAkBO;IzEylRX;IyEvhRA;MApFI,aAkBO;IzE4lRX;IyE1hRA;MApFI,oBAkBO;IzE+lRX;IyE7hRA;MApFI,iBAkBO;IzEkmRX;IyEhiRA;MApFI,kBAkBO;IzEqmRX;IyEniRA;MApFI,aAkBO;IzEwmRX;IyEtiRA;MApFI,cAaG;IzEgnRP;IyEziRA;MApFI,mBAkBO;IzE8mRX;IyE5iRA;MApFI,sBAkBO;IzEinRX;IyE/iRA;MApFI,2BAkBO;IzEonRX;IyEljRA;MApFI,8BAkBO;IzEunRX;IyErjRA;MApFI,YAaG;IzE+nRP;IyExjRA;MApFI,YAaG;IzEkoRP;IyE3jRA;MApFI,cAaG;IzEqoRP;IyE9jRA;MApFI,cAaG;IzEwoRP;IyEjkRA;MApFI,eAkBO;IzEsoRX;IyEpkRA;MApFI,iBAkBO;IzEyoRX;IyEvkRA;MApFI,uBAkBO;IzE4oRX;IyE1kRA;MApFI,2BAaG;IzEopRP;IyE7kRA;MApFI,yBAaG;IzEupRP;IyEhlRA;MApFI,uBAaG;IzE0pRP;IyEnlRA;MApFI,8BAaG;IzE6pRP;IyEtlRA;MApFI,6BAaG;IzEgqRP;IyEzlRA;MApFI,6BAaG;IzEmqRP;IyE5lRA;MApFI,oBAaG;IzEsqRP;IyE/lRA;MApFI,kBAaG;IzEyqRP;IyElmRA;MApFI,qBAaG;IzE4qRP;IyErmRA;MApFI,sBAaG;IzE+qRP;IyExmRA;MApFI,wBAaG;IzEkrRP;IyE3mRA;MApFI,sBAaG;IzEqrRP;IyE9mRA;MApFI,oBAaG;IzEwrRP;IyEjnRA;MApFI,uBAaG;IzE2rRP;IyEpnRA;MApFI,qBAaG;IzE8rRP;IyEvnRA;MApFI,mBAaG;IzEisRP;IyE1nRA;MApFI,qBAaG;IzEosRP;IyE7nRA;MApFI,oBAaG;IzEusRP;IyEhoRA;MApFI,yBAaG;IzE0sRP;IyEnoRA;MApFI,uBAaG;IzE6sRP;IyEtoRA;MApFI,qBAaG;IzEgtRP;IyEzoRA;MApFI,4BAaG;IzEmtRP;IyE5oRA;MApFI,2BAaG;IzEstRP;IyE/oRA;MApFI,sBAaG;IzEytRP;IyElpRA;MApFI,gBAaG;IzE4tRP;IyErpRA;MApFI,sBAaG;IzE+tRP;IyExpRA;MApFI,oBAaG;IzEkuRP;IyE3pRA;MApFI,kBAaG;IzEquRP;IyE9pRA;MApFI,oBAaG;IzEwuRP;IyEjqRA;MApFI,mBAaG;IzE2uRP;IyEpqRA;MApFI,kBAaG;IzE8uRP;IyEvqRA;MApFI,gBAaG;IzEivRP;IyE1qRA;MApFI,mBAaG;IzEovRP;IyE7qRA;MApFI,oBAaG;IzEuvRP;IyEhrRA;MApFI,eAkBO;IzEqvRX;IyEnrRA;MApFI,eAkBO;IzEwvRX;IyEtrRA;MApFI,eAkBO;IzE2vRX;IyEzrRA;MApFI,mBAaG;IzEmwRP;IyE5rRA;MApFI,mBAkBO;IzEiwRX;IyE/rRA;MApFI,sBAkBO;IzEowRX;IyElsRA;MApFI,qBAkBO;IzEuwRX;IyErsRA;MApFI,SAaG;IzE+wRP;IyExsRA;MApFI,QAaG;IzEkxRP;IyE3sRA;MApFI,QAaG;IzEqxRP;IyE9sRA;MApFI,QAaG;IzEwxRP;IyEjtRA;MApFI,QAaG;IzE2xRP;IyEptRA;MApFI,QAaG;IzE8xRP;IyEvtRA;MApFI,QAaG;IzEiyRP;IyE1tRA;MApFI,QAaG;IzEoyRP;IyE7tRA;MApFI,SAaG;IzEuyRP;IyEhuRA;MApFI,eAaG;IzE0yRP;IyEnuRA;MApFI,cAaG;IzE6yRP;IyEtuRA;MApFI,YAaG;IzEgzRP;IyEzuRA;MApFI,cAaG;IzEmzRP;IyE5uRA;MApFI,YAaG;IzEszRP;IyE/uRA;MApFI,YAaG;IzEyzRP;IyElvRA;MApFI,gBAaG;IzE4zRP;IyErvRA;MApFI,sBAaG;IzE+zRP;IyExvRA;MApFI,qBAaG;IzEk0RP;IyE3vRA;MApFI,mBAaG;IzEq0RP;IyE9vRA;MApFI,qBAaG;IzEw0RP;IyEjwRA;MApFI,mBAaG;IzE20RP;IyEpwRA;MApFI,mBAaG;IzE80RP;IyEvwRA;MApFI,eAaG;IzEi1RP;IyE1wRA;MApFI,qBAaG;IzEo1RP;IyE7wRA;MApFI,oBAaG;IzEu1RP;IyEhxRA;MApFI,kBAaG;IzE01RP;IyEnxRA;MApFI,oBAaG;IzE61RP;IyEtxRA;MApFI,kBAaG;IzEg2RP;IyEzxRA;MApFI,kBAaG;IzEm2RP;IyE5xRA;MApFI,qBAaG;IzEs2RP;IyE/xRA;MApFI,2BAaG;IzEy2RP;IyElyRA;MApFI,0BAaG;IzE42RP;IyEryRA;MApFI,wBAaG;IzE+2RP;IyExyRA;MApFI,0BAaG;IzEk3RP;IyE3yRA;MApFI,wBAaG;IzEq3RP;IyE9yRA;MApFI,wBAaG;IzEw3RP;IyEjzRA;MApFI,oBAaG;IzE23RP;IyEpzRA;MApFI,0BAaG;IzE83RP;IyEvzRA;MApFI,yBAaG;IzEi4RP;IyE1zRA;MApFI,uBAaG;IzEo4RP;IyE7zRA;MApFI,yBAaG;IzEu4RP;IyEh0RA;MApFI,uBAaG;IzE04RP;IyEn0RA;MApFI,uBAaG;IzE64RP;IyEt0RA;MApFI,mBAaG;IzEg5RP;IyEz0RA;MApFI,yBAaG;IzEm5RP;IyE50RA;MApFI,wBAaG;IzEs5RP;IyE/0RA;MApFI,sBAaG;IzEy5RP;IyEl1RA;MApFI,wBAaG;IzE45RP;IyEr1RA;MApFI,sBAaG;IzE+5RP;IyEx1RA;MApFI,sBAaG;IzEk6RP;IyE31RA;MApFI,sBAaG;IzEq6RP;IyE91RA;MApFI,4BAaG;IzEw6RP;IyEj2RA;MApFI,2BAaG;IzE26RP;IyEp2RA;MApFI,yBAaG;IzE86RP;IyEv2RA;MApFI,2BAaG;IzEi7RP;IyE12RA;MApFI,yBAaG;IzEo7RP;IyE72RA;MApFI,yBAaG;IzEu7RP;IyEh3RA;MApFI,UAaG;IzE07RP;IyEn3RA;MApFI,gBAaG;IzE67RP;IyEt3RA;MApFI,eAaG;IzEg8RP;IyEz3RA;MApFI,aAaG;IzEm8RP;IyE53RA;MApFI,eAaG;IzEs8RP;IyE/3RA;MApFI,aAaG;IzEy8RP;IyEl4RA;MApFI,iBAaG;IzE48RP;IyEr4RA;MApFI,uBAaG;IzE+8RP;IyEx4RA;MApFI,sBAaG;IzEk9RP;IyE34RA;MApFI,oBAaG;IzEq9RP;IyE94RA;MApFI,sBAaG;IzEw9RP;IyEj5RA;MApFI,oBAaG;IzE29RP;IyEp5RA;MApFI,gBAaG;IzE89RP;IyEv5RA;MApFI,sBAaG;IzEi+RP;IyE15RA;MApFI,qBAaG;IzEo+RP;IyE75RA;MApFI,mBAaG;IzEu+RP;IyEh6RA;MApFI,qBAaG;IzE0+RP;IyEn6RA;MApFI,mBAaG;IzE6+RP;IyEt6RA;MApFI,sBAaG;IzEg/RP;IyEz6RA;MApFI,4BAaG;IzEm/RP;IyE56RA;MApFI,2BAaG;IzEs/RP;IyE/6RA;MApFI,yBAaG;IzEy/RP;IyEl7RA;MApFI,2BAaG;IzE4/RP;IyEr7RA;MApFI,yBAaG;IzE+/RP;IyEx7RA;MApFI,qBAaG;IzEkgSP;IyE37RA;MApFI,2BAaG;IzEqgSP;IyE97RA;MApFI,0BAaG;IzEwgSP;IyEj8RA;MApFI,wBAaG;IzE2gSP;IyEp8RA;MApFI,0BAaG;IzE8gSP;IyEv8RA;MApFI,wBAaG;IzEihSP;IyE18RA;MApFI,oBAaG;IzEohSP;IyE78RA;MApFI,0BAaG;IzEuhSP;IyEh9RA;MApFI,yBAaG;IzE0hSP;IyEn9RA;MApFI,uBAaG;IzE6hSP;IyEt9RA;MApFI,yBAaG;IzEgiSP;IyEz9RA;MApFI,uBAaG;IzEmiSP;IyE59RA;MApFI,uBAaG;IzEsiSP;IyE/9RA;MApFI,6BAaG;IzEyiSP;IyEl+RA;MApFI,4BAaG;IzE4iSP;IyEr+RA;MApFI,0BAaG;IzE+iSP;IyEx+RA;MApFI,4BAaG;IzEkjSP;IyE3+RA;MApFI,0BAaG;IzEqjSP;IyE9+RA;MApFI,MAaG;IzEwjSP;IyEj/RA;MApFI,YAaG;IzE2jSP;IyEp/RA;MApFI,WAaG;IzE8jSP;IyEv/RA;MApFI,SAaG;IzEikSP;IyE1/RA;MApFI,WAaG;IzEokSP;IyE7/RA;MApFI,SAaG;IzEukSP;IyEhgSA;MApFI,UAaG;IzE0kSP;IyEngSA;MApFI,gBAaG;IzE6kSP;IyEtgSA;MApFI,eAaG;IzEglSP;IyEzgSA;MApFI,aAaG;IzEmlSP;IyE5gSA;MApFI,eAaG;IzEslSP;IyE/gSA;MApFI,aAaG;IzEylSP;IyElhSA;MApFI,kBAaG;MAbH,aAaG;IzE4lSP;IyErhSA;MApFI,wBAaG;MAbH,mBAaG;IzE+lSP;IyExhSA;MApFI,uBAaG;MAbH,kBAaG;IzEkmSP;IyE3hSA;MApFI,qBAaG;MAbH,gBAaG;IzEqmSP;IyE9hSA;MApFI,uBAaG;MAbH,kBAaG;IzEwmSP;IyEjiSA;MApFI,qBAaG;MAbH,gBAaG;IzE2mSP;IyEpiSA;MApFI,iBAaG;IzE8mSP;IyEviSA;MApFI,eAaG;IzEinSP;IyE1iSA;MApFI,kBAaG;IzEonSP;EACF;Ea5oSE;I4D8FA;MApFI,mBAaG;IzEynSP;IyEljSA;MApFI,iBAaG;IzE4nSP;IyErjSA;MApFI,WAaG;IzE+nSP;IyExjSA;MApFI,sBAaG;MAbH,mBAaG;IzEkoSP;IyE3jSA;MApFI,oBAaG;MAbH,iBAaG;IzEqoSP;IyE9jSA;MApFI,mBAaG;MAbH,gBAaG;IzEwoSP;IyEjkSA;MApFI,yBAaG;MAbH,sBAaG;IzE2oSP;IyEpkSA;MApFI,mBAaG;MAbH,gBAaG;IzE8oSP;IyEvkSA;MApFI,eAkBO;IzE4oSX;IyE1kSA;MApFI,qBAkBO;IzE+oSX;IyE7kSA;MApFI,cAkBO;IzEkpSX;IyEhlSA;MApFI,aAkBO;IzEqpSX;IyEnlSA;MApFI,oBAkBO;IzEwpSX;IyEtlSA;MApFI,cAkBO;IzE2pSX;IyEzlSA;MApFI,kBAkBO;IzE8pSX;IyE5lSA;MApFI,mBAkBO;IzEiqSX;IyE/lSA;MApFI,aAkBO;IzEoqSX;IyElmSA;MApFI,oBAkBO;IzEuqSX;IyErmSA;MApFI,iBAkBO;IzE0qSX;IyExmSA;MApFI,kBAkBO;IzE6qSX;IyE3mSA;MApFI,aAkBO;IzEgrSX;IyE9mSA;MApFI,cAaG;IzEwrSP;IyEjnSA;MApFI,mBAkBO;IzEsrSX;IyEpnSA;MApFI,sBAkBO;IzEyrSX;IyEvnSA;MApFI,2BAkBO;IzE4rSX;IyE1nSA;MApFI,8BAkBO;IzE+rSX;IyE7nSA;MApFI,YAaG;IzEusSP;IyEhoSA;MApFI,YAaG;IzE0sSP;IyEnoSA;MApFI,cAaG;IzE6sSP;IyEtoSA;MApFI,cAaG;IzEgtSP;IyEzoSA;MApFI,eAkBO;IzE8sSX;IyE5oSA;MApFI,iBAkBO;IzEitSX;IyE/oSA;MApFI,uBAkBO;IzEotSX;IyElpSA;MApFI,2BAaG;IzE4tSP;IyErpSA;MApFI,yBAaG;IzE+tSP;IyExpSA;MApFI,uBAaG;IzEkuSP;IyE3pSA;MApFI,8BAaG;IzEquSP;IyE9pSA;MApFI,6BAaG;IzEwuSP;IyEjqSA;MApFI,6BAaG;IzE2uSP;IyEpqSA;MApFI,oBAaG;IzE8uSP;IyEvqSA;MApFI,kBAaG;IzEivSP;IyE1qSA;MApFI,qBAaG;IzEovSP;IyE7qSA;MApFI,sBAaG;IzEuvSP;IyEhrSA;MApFI,wBAaG;IzE0vSP;IyEnrSA;MApFI,sBAaG;IzE6vSP;IyEtrSA;MApFI,oBAaG;IzEgwSP;IyEzrSA;MApFI,uBAaG;IzEmwSP;IyE5rSA;MApFI,qBAaG;IzEswSP;IyE/rSA;MApFI,mBAaG;IzEywSP;IyElsSA;MApFI,qBAaG;IzE4wSP;IyErsSA;MApFI,oBAaG;IzE+wSP;IyExsSA;MApFI,yBAaG;IzEkxSP;IyE3sSA;MApFI,uBAaG;IzEqxSP;IyE9sSA;MApFI,qBAaG;IzEwxSP;IyEjtSA;MApFI,4BAaG;IzE2xSP;IyEptSA;MApFI,2BAaG;IzE8xSP;IyEvtSA;MApFI,sBAaG;IzEiySP;IyE1tSA;MApFI,gBAaG;IzEoySP;IyE7tSA;MApFI,sBAaG;IzEuySP;IyEhuSA;MApFI,oBAaG;IzE0ySP;IyEnuSA;MApFI,kBAaG;IzE6ySP;IyEtuSA;MApFI,oBAaG;IzEgzSP;IyEzuSA;MApFI,mBAaG;IzEmzSP;IyE5uSA;MApFI,kBAaG;IzEszSP;IyE/uSA;MApFI,gBAaG;IzEyzSP;IyElvSA;MApFI,mBAaG;IzE4zSP;IyErvSA;MApFI,oBAaG;IzE+zSP;IyExvSA;MApFI,eAkBO;IzE6zSX;IyE3vSA;MApFI,eAkBO;IzEg0SX;IyE9vSA;MApFI,eAkBO;IzEm0SX;IyEjwSA;MApFI,mBAaG;IzE20SP;IyEpwSA;MApFI,mBAkBO;IzEy0SX;IyEvwSA;MApFI,sBAkBO;IzE40SX;IyE1wSA;MApFI,qBAkBO;IzE+0SX;IyE7wSA;MApFI,SAaG;IzEu1SP;IyEhxSA;MApFI,QAaG;IzE01SP;IyEnxSA;MApFI,QAaG;IzE61SP;IyEtxSA;MApFI,QAaG;IzEg2SP;IyEzxSA;MApFI,QAaG;IzEm2SP;IyE5xSA;MApFI,QAaG;IzEs2SP;IyE/xSA;MApFI,QAaG;IzEy2SP;IyElySA;MApFI,QAaG;IzE42SP;IyErySA;MApFI,SAaG;IzE+2SP;IyExySA;MApFI,eAaG;IzEk3SP;IyE3ySA;MApFI,cAaG;IzEq3SP;IyE9ySA;MApFI,YAaG;IzEw3SP;IyEjzSA;MApFI,cAaG;IzE23SP;IyEpzSA;MApFI,YAaG;IzE83SP;IyEvzSA;MApFI,YAaG;IzEi4SP;IyE1zSA;MApFI,gBAaG;IzEo4SP;IyE7zSA;MApFI,sBAaG;IzEu4SP;IyEh0SA;MApFI,qBAaG;IzE04SP;IyEn0SA;MApFI,mBAaG;IzE64SP;IyEt0SA;MApFI,qBAaG;IzEg5SP;IyEz0SA;MApFI,mBAaG;IzEm5SP;IyE50SA;MApFI,mBAaG;IzEs5SP;IyE/0SA;MApFI,eAaG;IzEy5SP;IyEl1SA;MApFI,qBAaG;IzE45SP;IyEr1SA;MApFI,oBAaG;IzE+5SP;IyEx1SA;MApFI,kBAaG;IzEk6SP;IyE31SA;MApFI,oBAaG;IzEq6SP;IyE91SA;MApFI,kBAaG;IzEw6SP;IyEj2SA;MApFI,kBAaG;IzE26SP;IyEp2SA;MApFI,qBAaG;IzE86SP;IyEv2SA;MApFI,2BAaG;IzEi7SP;IyE12SA;MApFI,0BAaG;IzEo7SP;IyE72SA;MApFI,wBAaG;IzEu7SP;IyEh3SA;MApFI,0BAaG;IzE07SP;IyEn3SA;MApFI,wBAaG;IzE67SP;IyEt3SA;MApFI,wBAaG;IzEg8SP;IyEz3SA;MApFI,oBAaG;IzEm8SP;IyE53SA;MApFI,0BAaG;IzEs8SP;IyE/3SA;MApFI,yBAaG;IzEy8SP;IyEl4SA;MApFI,uBAaG;IzE48SP;IyEr4SA;MApFI,yBAaG;IzE+8SP;IyEx4SA;MApFI,uBAaG;IzEk9SP;IyE34SA;MApFI,uBAaG;IzEq9SP;IyE94SA;MApFI,mBAaG;IzEw9SP;IyEj5SA;MApFI,yBAaG;IzE29SP;IyEp5SA;MApFI,wBAaG;IzE89SP;IyEv5SA;MApFI,sBAaG;IzEi+SP;IyE15SA;MApFI,wBAaG;IzEo+SP;IyE75SA;MApFI,sBAaG;IzEu+SP;IyEh6SA;MApFI,sBAaG;IzE0+SP;IyEn6SA;MApFI,sBAaG;IzE6+SP;IyEt6SA;MApFI,4BAaG;IzEg/SP;IyEz6SA;MApFI,2BAaG;IzEm/SP;IyE56SA;MApFI,yBAaG;IzEs/SP;IyE/6SA;MApFI,2BAaG;IzEy/SP;IyEl7SA;MApFI,yBAaG;IzE4/SP;IyEr7SA;MApFI,yBAaG;IzE+/SP;IyEx7SA;MApFI,UAaG;IzEkgTP;IyE37SA;MApFI,gBAaG;IzEqgTP;IyE97SA;MApFI,eAaG;IzEwgTP;IyEj8SA;MApFI,aAaG;IzE2gTP;IyEp8SA;MApFI,eAaG;IzE8gTP;IyEv8SA;MApFI,aAaG;IzEihTP;IyE18SA;MApFI,iBAaG;IzEohTP;IyE78SA;MApFI,uBAaG;IzEuhTP;IyEh9SA;MApFI,sBAaG;IzE0hTP;IyEn9SA;MApFI,oBAaG;IzE6hTP;IyEt9SA;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cAaG;IzEqxTP;IyE9sTA;MApFI,cAaG;IzEwxTP;IyEjtTA;MApFI,eAkBO;IzEsxTX;IyEptTA;MApFI,iBAkBO;IzEyxTX;IyEvtTA;MApFI,uBAkBO;IzE4xTX;IyE1tTA;MApFI,2BAaG;IzEoyTP;IyE7tTA;MApFI,yBAaG;IzEuyTP;IyEhuTA;MApFI,uBAaG;IzE0yTP;IyEnuTA;MApFI,8BAaG;IzE6yTP;IyEtuTA;MApFI,6BAaG;IzEgzTP;IyEzuTA;MApFI,6BAaG;IzEmzTP;IyE5uTA;MApFI,oBAaG;IzEszTP;IyE/uTA;MApFI,kBAaG;IzEyzTP;IyElvTA;MApFI,qBAaG;IzE4zTP;IyErvTA;MApFI,sBAaG;IzE+zTP;IyExvTA;MApFI,wBAaG;IzEk0TP;IyE3vTA;MApFI,sBAaG;IzEq0TP;IyE9vTA;MApFI,oBAaG;IzEw0TP;IyEjwTA;MApFI,uBAaG;IzE20TP;IyEpwTA;MApFI,qBAaG;IzE80TP;IyEvwTA;MApFI,mBAaG;IzEi1TP;IyE1wTA;MApFI,qBAaG;IzEo1TP;IyE7wTA;MApFI,oBAaG;IzEu1TP;IyEhxTA;MApFI,yBAaG;IzE01TP;IyEnxTA;MApFI,uBAaG;IzE61TP;IyEtxTA;MApFI,qBAaG;IzEg2TP;IyEzxTA;MApFI,4BAaG;IzEm2TP;IyE5xTA;MApFI,2BAaG;IzEs2TP;IyE/xTA;MApFI,sBAaG;IzEy2TP;IyElyTA;MApFI,gBAaG;IzE42TP;IyEryTA;MApFI,sBAaG;IzE+2TP;IyExyTA;MApFI,oBAaG;IzEk3TP;IyE3yTA;MApFI,kBAaG;IzEq3TP;IyE9yTA;MApFI,oBAaG;IzEw3TP;IyEjzTA;MApFI,mBAaG;IzE23TP;IyEpzTA;MApFI,kBAaG;IzE83TP;IyEvzTA;MApFI,gBAaG;IzEi4TP;IyE1zTA;MApFI,mBAaG;IzEo4TP;IyE7zTA;MApFI,oBAaG;IzEu4TP;IyEh0TA;MApFI,eAkBO;IzEq4TX;IyEn0TA;MApFI,eAkBO;IzEw4TX;IyEt0TA;MApFI,eAkBO;IzE24TX;IyEz0TA;MApFI,mBAaG;IzEm5TP;IyE50TA;MApFI,mBAkBO;IzEi5TX;IyE/0TA;MApFI,sBAkBO;IzEo5TX;IyEl1TA;MApFI,qBAkBO;IzEu5TX;IyEr1TA;MApFI,SAaG;IzE+5TP;IyEx1TA;MApFI,QAaG;IzEk6TP;IyE31TA;MApFI,QAaG;IzEq6TP;IyE91TA;MApFI,QAaG;IzEw6TP;IyEj2TA;MApFI,QAaG;IzE26TP;IyEp2TA;MApFI,QAaG;IzE86TP;IyEv2TA;MApFI,QAaG;IzEi7TP;IyE12TA;MApFI,QAaG;IzEo7TP;IyE72TA;MApFI,SAaG;IzEu7TP;IyEh3TA;MApFI,eAaG;IzE07TP;IyEn3TA;MApFI,cAaG;IzE67TP;IyEt3TA;MApFI,YAaG;IzEg8TP;IyEz3TA;MApFI,cAaG;IzEm8TP;IyE53TA;MApFI,YAaG;IzEs8TP;IyE/3TA;MApFI,YAaG;IzEy8TP;IyEl4TA;MApFI,gBAaG;IzE48TP;IyEr4TA;MApFI,sBAaG;IzE+8TP;IyEx4TA;MApFI,qBAaG;IzEk9TP;IyE34TA;MApFI,mBAaG;IzEq9TP;IyE94TA;MApFI,qBAaG;IzEw9TP;IyEj5TA;MApFI,mBAaG;IzE29TP;IyEp5TA;MApFI,mBAaG;IzE89TP;IyEv5TA;MApFI,eAaG;IzEi+TP;IyE15TA;MApFI,qBAaG;IzEo+TP;IyE75TA;MApFI,oBAaG;IzEu+TP;IyEh6TA;MApFI,kBAaG;IzE0+TP;IyEn6TA;MApFI,oBAaG;IzE6+TP;IyEt6TA;MApFI,kBAaG;IzEg/TP;IyEz6TA;MApFI,kBAaG;IzEm/TP;IyE56TA;MApFI,qBAaG;IzEs/TP;IyE/6TA;MApFI,2BAaG;IzEy/TP;IyEl7TA;MApFI,0BAaG;IzE4/TP;IyEr7TA;MApFI,wBAaG;IzE+/TP;IyEx7TA;MApFI,0BAaG;IzEkgUP;IyE37TA;MApFI,wBAaG;IzEqgUP;IyE97TA;MApFI,wBAaG;IzEwgUP;IyEj8TA;MApFI,oBAaG;IzE2gUP;IyEp8TA;MApFI,0BAaG;IzE8gUP;IyEv8TA;MApFI,yBAaG;IzEihUP;IyE18TA;MApFI,uBAaG;IzEohUP;IyE78TA;MApFI,yBAaG;IzEuhUP;IyEh9TA;MApFI,uBAaG;IzE0hUP;IyEn9TA;MApFI,uBAaG;IzE6hUP;IyEt9TA;MApFI,mBAaG;IzEgiUP;IyEz9TA;MApFI,yBAaG;IzEmiUP;IyE59TA;MApFI,wBAaG;IzEsiUP;IyE/9TA;MApFI,sBAaG;IzEyiUP;IyEl+TA;MApFI,wBAaG;IzE4iUP;IyEr+TA;MApFI,sBAaG;IzE+iUP;IyEx+TA;MApFI,sBAaG;IzEkjUP;IyE3+TA;MApFI,sBAaG;IzEqjUP;IyE9+TA;MApFI,4BAaG;IzEwjUP;IyEj/TA;MApFI,2BAaG;IzE2jUP;IyEp/TA;MApFI,yBAaG;IzE8jUP;IyEv/TA;MApFI,2BAaG;IzEikUP;IyE1/TA;MApFI,yBAaG;IzEokUP;IyE7/TA;MApFI,yBAaG;IzEukUP;IyEhgUA;MApFI,UAaG;IzE0kUP;IyEngUA;MApFI,gBAaG;IzE6kUP;IyEtgUA;MApFI,eAaG;IzEglUP;IyEzgUA;MApFI,aAaG;IzEmlUP;IyE5gUA;MApFI,eAaG;IzEslUP;IyE/gUA;MApFI,aAaG;IzEylUP;IyElhUA;MApFI,iBAaG;IzE4lUP;IyErhUA;MApFI,uBAaG;IzE+lUP;IyExhUA;MApFI,sBAaG;IzEkmUP;IyE3hUA;MApFI,oBAaG;IzEqmUP;IyE9hUA;MApFI,sBAaG;IzEwmUP;IyEjiUA;MApFI,oBAaG;IzE2mUP;IyEpiUA;MApFI,gBAaG;IzE8mUP;IyEviUA;MApFI,sBAaG;IzEinUP;IyE1iUA;MApFI,qBAaG;IzEonUP;IyE7iUA;MApFI,mBAaG;IzEunUP;IyEhjUA;MApFI,qBAaG;IzE0nUP;IyEnjUA;MApFI,mBAaG;IzE6nUP;IyEtjUA;MApFI,sBAaG;IzEgoUP;IyEzjUA;MApFI,4BAaG;IzEmoUP;IyE5jUA;MApFI,2BAaG;IzEsoUP;IyE/jUA;MApFI,yBAaG;IzEyoUP;IyElkUA;MApFI,2BAaG;IzE4oUP;IyErkUA;MApFI,yBAaG;IzE+oUP;IyExkUA;MApFI,qBAaG;IzEkpUP;IyE3kUA;MApFI,2BAaG;IzEqpUP;IyE9kUA;MApFI,0BAaG;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P;IyEt0UA;MApFI,oBAaG;IzEg5UP;IyEz0UA;MApFI,uBAaG;IzEm5UP;IyE50UA;MApFI,qBAaG;IzEs5UP;IyE/0UA;MApFI,mBAaG;IzEy5UP;IyEl1UA;MApFI,qBAaG;IzE45UP;IyEr1UA;MApFI,oBAaG;IzE+5UP;IyEx1UA;MApFI,yBAaG;IzEk6UP;IyE31UA;MApFI,uBAaG;IzEq6UP;IyE91UA;MApFI,qBAaG;IzEw6UP;IyEj2UA;MApFI,4BAaG;IzE26UP;IyEp2UA;MApFI,2BAaG;IzE86UP;IyEv2UA;MApFI,sBAaG;IzEi7UP;IyE12UA;MApFI,gBAaG;IzEo7UP;IyE72UA;MApFI,sBAaG;IzEu7UP;IyEh3UA;MApFI,oBAaG;IzE07UP;IyEn3UA;MApFI,kBAaG;IzE67UP;IyEt3UA;MApFI,oBAaG;IzEg8UP;IyEz3UA;MApFI,mBAaG;IzEm8UP;IyE53UA;MApFI,kBAaG;IzEs8UP;IyE/3UA;MApFI,gBAaG;IzEy8UP;IyEl4UA;MApFI,mBAaG;IzE48UP;IyEr4UA;MApFI,oBAaG;IzE+8UP;IyEx4UA;MApFI,eAkBO;IzE68UX;IyE34UA;MApFI,eAkBO;IzEg9UX;IyE94UA;MApFI,eAkBO;IzEm9UX;IyEj5UA;MApFI,mBAaG;IzE29UP;IyEp5UA;MApFI,mBAkBO;IzEy9UX;IyEv5UA;MApFI,sBAkBO;IzE49UX;IyE15UA;MApFI,qBAkBO;IzE+9UX;IyE75UA;MApFI,SAaG;IzEu+UP;IyEh6UA;MApFI,QAaG;IzE0+UP;IyEn6UA;MApFI,QAaG;IzE6+UP;IyEt6UA;MApFI,QAaG;IzEg/UP;IyEz6UA;MApFI,QAaG;IzEm/UP;IyE56UA;MApFI,QAaG;IzEs/UP;IyE/6UA;MApFI,QAaG;IzEy/UP;IyEl7UA;MApFI,QAaG;IzE4/UP;IyEr7UA;MApFI,SAaG;IzE+/UP;IyEx7UA;MApFI,eAaG;IzEkgVP;IyE37UA;MApFI,cAaG;IzEqgVP;IyE97UA;MApFI,YAaG;IzEwgVP;IyEj8UA;MApFI,cAaG;IzE2gVP;IyEp8UA;MApFI,YAaG;IzE8gVP;IyEv8UA;MApFI,YAaG;IzEihVP;IyE18UA;MApFI,gBAaG;IzEohVP;IyE78UA;MApFI,sBAaG;IzEuhVP;IyEh9UA;MApFI,qBAaG;IzE0hVP;IyEn9UA;MApFI,mBAaG;IzE6hVP;IyEt9UA;MApFI,qBAaG;IzEgiVP;IyEz9UA;MApFI,mBAaG;IzEmiVP;IyE59UA;MApFI,mBAaG;IzEsiVP;IyE/9UA;MApFI,eAaG;IzEyiVP;IyEl+UA;MApFI,qBAaG;IzE4iVP;IyEr+UA;MApFI,oBAaG;IzE+iVP;IyEx+UA;MApFI,kBAaG;IzEkjVP;IyE3+UA;MApFI,oBAaG;IzEqjVP;IyE9+UA;MApFI,kBAaG;IzEwjVP;IyEj/UA;MApFI,kBAaG;IzE2jVP;IyEp/UA;MApFI,qBAaG;IzE8jVP;IyEv/UA;MApFI,2BAaG;IzEikVP;IyE1/UA;MApFI,0BAaG;IzEokVP;IyE7/UA;MApFI,wBAaG;IzEukVP;IyEhgVA;MApFI,0BAaG;IzE0kVP;IyEngVA;MApFI,wBAaG;IzE6kVP;IyEtgVA;MApFI,wBAaG;IzEglVP;IyEzgVA;MApFI,oBAaG;IzEmlVP;IyE5gVA;MApFI,0BAaG;IzEslVP;IyE/gVA;MApFI,yBAaG;IzEylVP;IyElhVA;MApFI,uBAaG;IzE4lVP;IyErhVA;MApFI,yBAaG;IzE+lVP;IyExhVA;MApFI,uBAaG;IzEkmVP;IyE3hVA;MApFI,uBAaG;IzEqmVP;IyE9hVA;MApFI,mBAaG;IzEwmVP;IyEjiVA;MApFI,yBAaG;IzE2mVP;IyEpiVA;MApFI,wBAaG;IzE8mVP;IyEviVA;MApFI,sBAaG;IzEinVP;IyE1iVA;MApFI,wBAaG;IzEonVP;IyE7iVA;MApFI,sBAaG;IzEunVP;IyEhjVA;MApFI,sBAaG;IzE0nVP;IyEnjVA;MApFI,sBAaG;IzE6nVP;IyEtjVA;MApFI,4BAaG;IzEgoVP;IyEzjVA;MApFI,2BAaG;IzEmoVP;IyE5jVA;MApFI,yBAaG;IzEsoVP;IyE/jVA;MApFI,2BAaG;IzEyoVP;IyElkVA;MApFI,yBAaG;IzE4oVP;IyErkVA;MApFI,yBAaG;IzE+oVP;IyExkVA;MApFI,UAaG;IzEkpVP;IyE3kVA;MApFI,gBAaG;IzEqpVP;IyE9kVA;MApFI,eAaG;IzEwpVP;IyEjlVA;MApFI,aAaG;IzE2pVP;IyEplVA;MApFI,eAaG;IzE8pVP;IyEvlVA;MApFI,aAaG;IzEiqVP;IyE1lVA;MApFI,iBAaG;IzEoqVP;IyE7lVA;MApFI,uBAaG;IzEuqVP;IyEhmVA;MApFI,sBAaG;IzE0qVP;IyEnmVA;MApFI,oBAaG;IzE6qVP;IyEtmVA;MApFI,sBAaG;IzEgrVP;IyEzmVA;MApFI,oBAaG;IzEmrVP;IyE5mVA;MApFI,gBAaG;IzEsrVP;IyE/mVA;MApFI,sBAaG;IzEyrVP;IyElnVA;MApFI,qBAaG;IzE4rVP;IyErnVA;MApFI,mBAaG;IzE+rVP;IyExnVA;MApFI,qBAaG;IzEksVP;IyE3nVA;MApFI,mBAaG;IzEqsVP;IyE9nVA;MApFI,sBAaG;IzEwsVP;IyEjoVA;MApFI,4BAaG;IzE2sVP;IyEpoVA;MApFI,2BAaG;IzE8sVP;IyEvoVA;MApFI,yBAaG;IzEitVP;IyE1oVA;MApFI,2BAaG;IzEotVP;IyE7oVA;MApFI,yBAaG;IzEutVP;IyEhpVA;MApFI,qBAaG;IzE0tVP;IyEnpVA;MApFI,2BAaG;IzE6tVP;IyEtpVA;MApFI,0BAaG;IzEguVP;IyEzpVA;MApFI,wBAaG;IzEmuVP;IyE5pVA;MApFI,0BAaG;IzEsuVP;IyE/pVA;MApFI,wBAaG;IzEyuVP;IyElqVA;MApFI,oBAaG;IzE4uVP;IyErqVA;MApFI,0BAaG;IzE+uVP;IyExqVA;MApFI,yBAaG;IzEkvVP;IyE3qVA;MApFI,uBAaG;IzEqvVP;IyE9qVA;MApFI,yBAaG;IzEwvVP;IyEjrVA;MApFI,uBAaG;IzE2vVP;IyEprVA;MApFI,uBAaG;IzE8vVP;IyEvrVA;MApFI,6BAaG;IzEiwVP;IyE1rVA;MApFI,4BAaG;IzEowVP;IyE7rVA;MApFI,0BAaG;IzEuwVP;IyEhsVA;MApFI,4BAaG;IzE0wVP;IyEnsVA;MApFI,0BAaG;IzE6wVP;IyEtsVA;MApFI,MAaG;IzEgxVP;IyEzsVA;MApFI,YAaG;IzEmxVP;IyE5sVA;MApFI,WAaG;IzEsxVP;IyE/sVA;MApFI,SAaG;IzEyxVP;IyEltVA;MApFI,WAaG;IzE4xVP;IyErtVA;MApFI,SAaG;IzE+xVP;IyExtVA;MApFI,UAaG;IzEkyVP;IyE3tVA;MApFI,gBAaG;IzEqyVP;IyE9tVA;MApFI,eAaG;IzEwyVP;IyEjuVA;MApFI,aAaG;IzE2yVP;IyEpuVA;MApFI,eAaG;IzE8yVP;IyEvuVA;MApFI,aAaG;IzEizVP;IyE1uVA;MApFI,kBAaG;MAbH,aAaG;IzEozVP;IyE7uVA;MApFI,wBAaG;MAbH,mBAaG;IzEuzVP;IyEhvVA;MApFI,uBAaG;MAbH,kBAaG;IzE0zVP;IyEnvVA;MApFI,qBAaG;MAbH,gBAaG;IzE6zVP;IyEtvVA;MApFI,uBAaG;MAbH,kBAaG;IzEg0VP;IyEzvVA;MApFI,qBAaG;MAbH,gBAaG;IzEm0VP;IyE5vVA;MApFI,iBAaG;IzEs0VP;IyE/vVA;MApFI,eAaG;IzEy0VP;IyElwVA;MApFI,kBAaG;IzE40VP;EACF;Eap2VE;I4D8FA;MApFI,mBAaG;IzEi1VP;IyE1wVA;MApFI,iBAaG;IzEo1VP;IyE7wVA;MApFI,WAaG;IzEu1VP;IyEhxVA;MApFI,sBAaG;MAbH,mBAaG;IzE01VP;IyEnxVA;MApFI,oBAaG;MAbH,iBAaG;IzE61VP;IyEtxVA;MApFI,mBAaG;MAbH,gBAaG;IzEg2VP;IyEzxVA;MApFI,yBAaG;MAbH,sBAaG;IzEm2VP;IyE5xVA;MApFI,mBAaG;MAbH,gBAaG;IzEs2VP;IyE/xVA;MApFI,eAkBO;IzEo2VX;IyElyVA;MApFI,qBAkBO;IzEu2VX;IyEryVA;MApFI,cAkBO;IzE02VX;IyExyVA;MApFI,aAkBO;IzE62VX;IyE3yVA;MApFI,oBAkBO;IzEg3VX;IyE9yVA;MApFI,cAkBO;IzEm3VX;IyEjzVA;MApFI,kBAkBO;IzEs3VX;IyEpzVA;MApFI,mBAkBO;IzEy3VX;IyEvzVA;MApFI,aAkBO;IzE43VX;IyE1zVA;MApFI,oBAkBO;IzE+3VX;IyE7zVA;MApFI,iBAkBO;IzEk4VX;IyEh0VA;MApFI,kBAkBO;IzEq4VX;IyEn0VA;MApFI,aAkBO;IzEw4VX;IyEt0VA;MApFI,cAaG;IzEg5VP;IyEz0VA;MApFI,mBAkBO;IzE84VX;IyE50VA;MApFI,sBAkBO;IzEi5VX;IyE/0VA;MApFI,2BAkBO;IzEo5VX;IyEl1VA;MApFI,8BAkBO;IzEu5VX;IyEr1VA;MApFI,YAaG;IzE+5VP;IyEx1VA;MApFI,YAaG;IzEk6VP;IyE31VA;MApFI,cAaG;IzEq6VP;IyE91VA;MApFI,cAaG;IzEw6VP;IyEj2VA;MApFI,eAkBO;IzEs6VX;IyEp2VA;MApFI,iBAkBO;IzEy6VX;IyEv2VA;MApFI,uBAkBO;IzE46VX;IyE12VA;MApFI,2BAaG;IzEo7VP;IyE72VA;MApFI,yBAaG;IzEu7VP;IyEh3VA;MApFI,uBAaG;IzE07VP;IyEn3VA;MApFI,8BAaG;IzE67VP;IyEt3VA;MApFI,6BAaG;IzEg8VP;IyEz3VA;MApFI,6BAaG;IzEm8VP;IyE53VA;MApFI,oBAaG;IzEs8VP;IyE/3VA;MApFI,kBAaG;IzEy8VP;IyEl4VA;MApFI,qBAaG;IzE48VP;IyEr4VA;MApFI,sBAaG;IzE+8VP;IyEx4VA;MApFI,wBAaG;IzEk9VP;IyE34VA;MApFI,sBAaG;IzEq9VP;IyE94VA;MApFI,oBAaG;IzEw9VP;IyEj5VA;MApFI,uBAaG;IzE29VP;IyEp5VA;MApFI,qBAaG;IzE89VP;IyEv5VA;MApFI,mBAaG;IzEi+VP;IyE15VA;MApFI,qBAaG;IzEo+VP;IyE75VA;MApFI,oBAaG;IzEu+VP;IyEh6VA;MApFI,yBAaG;IzE0+VP;IyEn6VA;MApFI,uBAaG;IzE6+VP;IyEt6VA;MApFI,qBAaG;IzEg/VP;IyEz6VA;MApFI,4BAaG;IzEm/VP;IyE56VA;MApFI,2BAaG;IzEs/VP;IyE/6VA;MApFI,sBAaG;IzEy/VP;IyEl7VA;MApFI,gBAaG;IzE4/VP;IyEr7VA;MApFI,sBAaG;IzE+/VP;IyEx7VA;MApFI,oBAaG;IzEkgWP;IyE37VA;MApFI,kBAaG;IzEqgWP;IyE97VA;MApFI,oBAaG;IzEwgWP;IyEj8VA;MApFI,mBAaG;IzE2gWP;IyEp8VA;MApFI,kBAaG;IzE8gWP;IyEv8VA;MApFI,gBAaG;IzEihWP;IyE18VA;MApFI,mBAaG;IzEohWP;IyE78VA;MApFI,oBAaG;IzEuhWP;IyEh9VA;MApFI,eAkBO;IzEqhWX;IyEn9VA;MApFI,eAkBO;IzEwhWX;IyEt9VA;MApFI,eAkBO;IzE2hWX;IyEz9VA;MApFI,mBAaG;IzEmiWP;IyE59VA;MApFI,mBAkBO;IzEiiWX;IyE/9VA;MApFI,sBAkBO;IzEoiWX;IyEl+VA;MApFI,qBAkBO;IzEuiWX;IyEr+VA;MApFI,SAaG;IzE+iWP;IyEx+VA;MApFI,QAaG;IzEkjWP;IyE3+VA;MApFI,QAaG;IzEqjWP;IyE9+VA;MApFI,QAaG;IzEwjWP;IyEj/VA;MApFI,QAaG;IzE2jWP;IyEp/VA;MApFI,QAaG;IzE8jWP;IyEv/VA;MApFI,QAaG;IzEikWP;IyE1/VA;MApFI,QAaG;IzEokWP;IyE7/VA;MApFI,SAaG;IzEukWP;IyEhgWA;MApFI,eAaG;IzE0kWP;IyEngWA;MApFI,cAaG;IzE6kWP;IyEtgWA;MApFI,YAaG;IzEglWP;IyEzgWA;MApFI,cAaG;IzEmlWP;IyE5gWA;MApFI,YAaG;IzEslWP;IyE/gWA;MApFI,YAaG;IzEylWP;IyElhWA;MApFI,gBAaG;IzE4lWP;IyErhWA;MApFI,sBAaG;IzE+lWP;IyExhWA;MApFI,qBAaG;IzEkmWP;IyE3hWA;MApFI,mBAaG;IzEqmWP;IyE9hWA;MApFI,qBAaG;IzEwmWP;IyEjiWA;MApFI,mBAaG;IzE2mWP;IyEpiWA;MApFI,mBAaG;IzE8mWP;IyEviWA;MApFI,eAaG;IzEinWP;IyE1iWA;MApFI,qBAaG;IzEonWP;IyE7iWA;MApFI,oBAaG;IzEunWP;IyEhjWA;MApFI,kBAaG;IzE0nWP;IyEnjWA;MApFI,oBAaG;IzE6nWP;IyEtjWA;MApFI,kBAaG;IzEgoWP;IyEzjWA;MApFI,kBAaG;IzEmoWP;IyE5jWA;MApFI,qBAaG;IzEsoWP;IyE/jWA;MApFI,2BAaG;IzEyoWP;IyElkWA;MApFI,0BAaG;IzE4oWP;IyErkWA;MApFI,wBAaG;IzE+oWP;IyExkWA;MApFI,0BAaG;IzEkpWP;IyE3kWA;MApFI,wBAaG;IzEqpWP;IyE9kWA;MApFI,wBAaG;IzEwpWP;IyEjlWA;MApFI,oBAaG;IzE2pWP;IyEplWA;MApFI,0BAaG;IzE8pWP;IyEvlWA;MApFI,yBAaG;IzEiqWP;IyE1lWA;MApFI,uBAaG;IzEoqWP;IyE7lWA;MApFI,yBAaG;IzEuqWP;IyEhmWA;MApFI,uBAaG;IzE0qWP;IyEnmWA;MApFI,uBAaG;IzE6qWP;IyEtmWA;MApFI,mBAaG;IzEgrWP;IyEzmWA;MApFI,yBAaG;IzEmrWP;IyE5mWA;MApFI,wBAaG;IzEsrWP;IyE/mWA;MApFI,sBAaG;IzEyrWP;IyElnWA;MApFI,wBAaG;IzE4rWP;IyErnWA;MApFI,sBAaG;IzE+rWP;IyExnWA;MApFI,sBAaG;IzEksWP;IyE3nWA;MApFI,sBAaG;IzEqsWP;IyE9nWA;MApFI,4BAaG;IzEwsWP;IyEjoWA;MApFI,2BAaG;IzE2sWP;IyEpoWA;MApFI,yBAaG;IzE8sWP;IyEvoWA;MApFI,2BAaG;IzEitWP;IyE1oWA;MApFI,yBAaG;IzEotWP;IyE7oWA;MApFI,yBAaG;IzEutWP;IyEhpWA;MApFI,UAaG;IzE0tWP;IyEnpWA;MApFI,gBAaG;IzE6tWP;IyEtpWA;MApFI,eAaG;IzEguWP;IyEzpWA;MApFI,aAaG;IzEmuWP;IyE5pWA;MApFI,eAaG;IzEsuWP;IyE/pWA;MApFI,aAaG;IzEyuWP;IyElqWA;MApFI,iBAaG;IzE4uWP;IyErqWA;MApFI,uBAaG;IzE+uWP;IyExqWA;MApFI,sBAaG;IzEkvWP;IyE3qWA;MApFI,oBAaG;IzEqvWP;IyE9qWA;MApFI,sBAaG;IzEwvWP;IyEjrWA;MApFI,oBAaG;IzE2vWP;IyEprWA;MApFI,gBAaG;IzE8vWP;IyEvrWA;MApFI,sBAaG;IzEiwWP;IyE1rWA;MApFI,qBAaG;IzEowWP;IyE7rWA;MApFI,mBAaG;IzEuwWP;IyEhsWA;MApFI,qBAaG;IzE0wWP;IyEnsWA;MApFI,mBAaG;IzE6wWP;IyEtsWA;MApFI,sBAaG;IzEgxWP;IyEzsWA;MApFI,4BAaG;IzEmxWP;IyE5sWA;MApFI,2BAaG;IzEsxWP;IyE/sWA;MApFI,yBAaG;IzEyxWP;IyEltWA;MApFI,2BAaG;IzE4xWP;IyErtWA;MApFI,yBAaG;IzE+xWP;IyExtWA;MApFI,qBAaG;IzEkyWP;IyE3tWA;MApFI,2BAaG;IzEqyWP;IyE9tWA;MApFI,0BAaG;IzEwyWP;IyEjuWA;MApFI,wBAaG;IzE2yWP;IyEpuWA;MApFI,0BAaG;IzE8yWP;IyEvuWA;MApFI,wBAaG;IzEizWP;IyE1uWA;MApFI,oBAaG;IzEozWP;IyE7uWA;MApFI,0BAaG;IzEuzWP;IyEhvWA;MApFI,yBAaG;IzE0zWP;IyEnvWA;MApFI,uBAaG;IzE6zWP;IyEtvWA;MApFI,yBAaG;IzEg0WP;IyEzvWA;MApFI,uBAaG;IzEm0WP;IyE5vWA;MApFI,uBAaG;IzEs0WP;IyE/vWA;MApFI,6BAaG;IzEy0WP;IyElwWA;MApFI,4BAaG;IzE40WP;IyErwWA;MApFI,0BAaG;IzE+0WP;IyExwWA;MApFI,4BAaG;IzEk1WP;IyE3wWA;MApFI,0BAaG;IzEq1WP;IyE9wWA;MApFI,MAaG;IzEw1WP;IyEjxWA;MApFI,YAaG;IzE21WP;IyEpxWA;MApFI,WAaG;IzE81WP;IyEvxWA;MApFI,SAaG;IzEi2WP;IyE1xWA;MApFI,WAaG;IzEo2WP;IyE7xWA;MApFI,SAaG;IzEu2WP;IyEhyWA;MApFI,UAaG;IzE02WP;IyEnyWA;MApFI,gBAaG;IzE62WP;IyEtyWA;MApFI,eAaG;IzEg3WP;IyEzyWA;MApFI,aAaG;IzEm3WP;IyE5yWA;MApFI,eAaG;IzEs3WP;IyE/yWA;MApFI,aAaG;IzEy3WP;IyElzWA;MApFI,kBAaG;MAbH,aAaG;IzE43WP;IyErzWA;MApFI,wBAaG;MAbH,mBAaG;IzE+3WP;IyExzWA;MApFI,uBAaG;MAbH,kBAaG;IzEk4WP;IyE3zWA;MApFI,qBAaG;MAbH,gBAaG;IzEq4WP;IyE9zWA;MApFI,uBAaG;MAbH,kBAaG;IzEw4WP;IyEj0WA;MApFI,qBAaG;MAbH,gBAaG;IzE24WP;IyEp0WA;MApFI,iBAaG;IzE84WP;IyEv0WA;MApFI,eAaG;IzEi5WP;IyE10WA;MApFI,kBAaG;IzEo5WP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    color: inherit;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid;\n    opacity: 0.25;\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-link-color);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-link-hover-color);\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-color-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--bs-gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --bs-table-color-type: initial;\n    --bs-table-bg-type: initial;\n    --bs-table-color-state: initial;\n    --bs-table-bg-state: initial;\n    --bs-table-color: var(--bs-color-body);\n    --bs-table-bg: var(--bs-bg-body);\n    --bs-table-border-color: var(--bs-border-color);\n    --bs-table-accent-bg: transparent;\n    --bs-table-striped-color: var(--bs-color-body);\n    --bs-table-striped-bg: color-mix(in srgb, var(--bs-table-color) 5%, transparent);\n    --bs-table-active-color: var(--bs-color-body);\n    --bs-table-active-bg: color-mix(in srgb, var(--bs-table-color) 10%, transparent);\n    --bs-table-hover-color: var(--bs-color-body);\n    --bs-table-hover-bg: color-mix(in srgb, var(--bs-table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--bs-theme-border, var(--bs-table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-theme-text, var(--bs-table-color))));\n    background-color: var(--bs-theme-bg-subtle, var(--bs-table-bg));\n    border-block-end-width: var(--bs-border-width);\n    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-theme-bg-subtle, var(--bs-table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--bs-border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--bs-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--bs-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-active {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-active-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-hover-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bs-bg-body);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n    box-shadow: var(--bs-box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --bs-content-font-size: var(--bs-font-size-sm);\n    --bs-content-gap: 20px;\n    --bs-heading-color: light-dark(var(--bs-gray-900), var(--bs-white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--bs-content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--bs-content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --bs-content-font-size: var(--bs-font-size-md);\n      --bs-content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--bs-content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--bs-content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--bs-content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: 1px solid var(--bs-border-color);\n  }\n  .prose h1,\n  .prose h2,\n  .prose h3,\n  .prose h4,\n  .prose h5,\n  .prose h6 {\n    margin-top: 0;\n    margin-bottom: calc(var(--bs-content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1 code,\n  .prose h2 code,\n  .prose h3 code,\n  .prose h4 code,\n  .prose h5 code,\n  .prose h6 code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    margin-bottom: calc(var(--bs-content-gap) / 4);\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--bs-link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--bs-link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--bs-link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--bs-content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--bs-border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--bs-border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--bs-border-width));\n    padding-bottom: add(0.375rem, var(--bs-border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--bs-border-width));\n    padding-bottom: add(0.5rem, var(--bs-border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--bs-border-width));\n    padding-bottom: add(0.25rem, var(--bs-border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --bs-control-min-height: 2.5rem;\n    --bs-control-padding-y: 0.375rem;\n    --bs-control-padding-x: 0.75rem;\n    --bs-control-font-size: 14px;\n    --bs-control-line-height: 1.5;\n    --bs-control-color: var(--bs-color-body);\n    --bs-control-bg: var(--bs-bg-body);\n    --bs-control-border-width: var(--bs-border-width);\n    --bs-control-border-color: var(--bs-border-color);\n    --bs-control-border-radius: var(--bs-border-radius);\n    --bs-control-select-bg-color: var(--bs-gray-600);\n    --bs-control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--bs-gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --bs-control-select-bg-position: right 0.75rem center;\n    --bs-control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    font-size: var(--bs-control-font-size);\n    line-height: var(--bs-control-line-height);\n    color: var(--bs-control-color);\n    appearance: none;\n    background-color: var(--bs-control-bg);\n    background-clip: padding-box;\n    border: var(--bs-control-border-width) solid var(--bs-control-border-color);\n    border-radius: var(--bs-control-border-radius);\n    box-shadow: var(--bs-box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    color: var(--bs-color-body);\n    background-color: var(--bs-bg-body);\n    border-color: var(--bs-primary-border);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--bs-secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--bs-secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    margin: calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);\n    margin-inline-end: var(--bs-control-padding-x);\n    color: var(--bs-color-body);\n    background-color: var(--bs-tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--bs-control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--bs-control-padding-x) * 3);\n    background-image: var(--bs-control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--bs-control-select-bg-position);\n    background-size: var(--bs-control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--bs-control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --bs-control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --bs-control-min-height: 2rem;\n    --bs-control-padding-y: 0.25rem;\n    --bs-control-padding-x: 0.5rem;\n    --bs-control-font-size: 12.25px;\n    --bs-control-line-height: 1.25;\n    --bs-control-border-radius: var(--bs-border-radius-sm);\n  }\n  .form-control-lg {\n    --bs-control-min-height: 3rem;\n    --bs-control-padding-y: 0.5rem;\n    --bs-control-padding-x: 1rem;\n    --bs-control-font-size: 17.5px;\n    --bs-control-line-height: 2;\n    --bs-control-border-radius: var(--bs-border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .check {\n    --bs-check-bg: transparent;\n    --bs-check-border-color: var(--bs-border-color);\n    --bs-check-checked-bg: var(--bs-primary-base);\n    --bs-check-checked-border-color: var(--bs-primary-base);\n    --bs-check-indeterminate-bg: var(--bs-primary-base);\n    --bs-check-indeterminate-border-color: var(--bs-primary-base);\n    --bs-check-disabled-bg: var(--bs-bg-3);\n    --bs-check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-check-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--bs-theme-bg, var(--bs-check-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-check-checked-border-color));\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--bs-primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --bs-check-bg: var(--bs-check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--bs-check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .radio {\n    --bs-radio-bg: transparent;\n    --bs-radio-border-color: var(--bs-border-color);\n    --bs-radio-checked-bg: var(--bs-primary-base);\n    --bs-radio-checked-border-color: var(--bs-primary-base);\n    --bs-radio-disabled-bg: var(--bs-bg-3);\n    --bs-radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-radio-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--bs-theme-contrast, var(--bs-primary-contrast));\n    background-color: var(--bs-theme-bg, var(--bs-radio-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --bs-radio-bg: var(--bs-radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n}\n@layer forms {\n  .switch {\n    --bs-switch-height: 1.25rem;\n    --bs-switch-width: calc(var(--bs-switch-height) * 1.5);\n    --bs-switch-padding: .0625rem;\n    --bs-switch-bg: var(--bs-secondary-bg);\n    --bs-switch-border-width: var(--bs-border-width);\n    --bs-switch-border-color: var(--bs-border-color);\n    --bs-switch-indicator-bg: var(--bs-white);\n    --bs-switch-checked-bg: var(--bs-primary-base);\n    --bs-switch-checked-border-color: var(--bs-switch-checked-bg);\n    --bs-switch-checked-indicator-bg: var(--bs-white);\n    --bs-switch-disabled-bg: var(--bs-secondary-bg);\n    --bs-switch-disabled-indicator-bg: var(--bs-secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--bs-switch-width);\n    height: var(--bs-switch-height);\n    padding: var(--bs-switch-padding);\n    background-color: var(--bs-switch-bg);\n    border: var(--bs-switch-border-width) solid var(--bs-switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    height: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--bs-switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding));\n    background-color: var(--bs-switch-checked-bg);\n    border-color: var(--bs-switch-checked-border-color);\n  }\n  .switch:has(input:disabled) {\n    --bs-switch-bg: var(--bs-switch-disabled-bg);\n    --bs-switch-indicator-bg: var(--bs-switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --bs-switch-height: 1em;\n  }\n  .switch-lg {\n    --bs-switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: add(1rem, 0.5em);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);\n  }\n  .form-range:focus::-moz-range-thumb {\n    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: rgba(var(--bs-body-color-rgb), 0.65);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--bs-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bs-bg-body);\n    border-radius: var(--bs-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--bs-gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-tertiary-bg);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n  }\n  .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: 17.5px;\n    border-radius: var(--bs-border-radius-lg);\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: 12.25px;\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer components {\n  .tooltip {\n    --bs-tooltip-zindex: 1080;\n    --bs-tooltip-max-width: 200px;\n    --bs-tooltip-padding-x: 0.75rem;\n    --bs-tooltip-padding-y: 0.375rem;\n    --bs-tooltip-font-size: var(--bs-font-size-sm);\n    --bs-tooltip-color: var(--bs-bg-body);\n    --bs-tooltip-bg: var(--bs-fg-body);\n    --bs-tooltip-border-radius: var(--bs-border-radius);\n    --bs-tooltip-opacity: 0.95;\n    --bs-tooltip-arrow-width: 0.8rem;\n    --bs-tooltip-arrow-height: 0.4rem;\n    z-index: var(--bs-tooltip-zindex);\n    display: block;\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--bs-tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--bs-tooltip-arrow-width);\n    height: var(--bs-tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-block-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-inline-start-color: var(--bs-tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--bs-tooltip-max-width);\n    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n    color: var(--bs-tooltip-color);\n    text-align: center;\n    background-color: var(--bs-tooltip-bg);\n    border-radius: var(--bs-tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-success);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n    padding-inline-end: add(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='var%28--bs-success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--bs-form-valid-border-color);\n    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--bs-form-valid-color);\n  }\n  .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n    box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--bs-form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-danger);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--bs-danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--bs-danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--bs-form-invalid-border-color);\n    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--bs-form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n    box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--bs-form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --bs-btn-min-height: 2.25rem;\n    --bs-btn-padding-x: 0.75rem;\n    --bs-btn-padding-y: 0.375rem;\n    --bs-btn-font-family: ;\n    --bs-btn-font-size: 14px;\n    --bs-btn-font-weight: 400;\n    --bs-btn-line-height: 1.5;\n    --bs-btn-color: var(--bs-color-body);\n    --bs-btn-border-width: var(--bs-border-width);\n    --bs-btn-border-color: transparent;\n    --bs-btn-border-radius: var(--bs-border-radius);\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--bs-btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--bs-btn-min-height);\n    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n    font-family: var(--bs-btn-font-family);\n    font-size: var(--bs-btn-font-size);\n    font-weight: var(--bs-btn-font-weight);\n    line-height: var(--bs-btn-line-height);\n    color: var(--bs-btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--bs-btn-bg, var(--bs-bg-2));\n    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n    border-radius: var(--bs-btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--bs-btn-hover-color);\n    background-color: var(--bs-btn-hover-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n  }\n  .btn-solid {\n    --bs-btn-bg: var(--bs-theme-bg);\n    --bs-btn-color: var(--bs-theme-contrast);\n    --bs-btn-border-color: var(--bs-theme-bg);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-solid:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-outline {\n    --bs-btn-bg: transparent;\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: var(--bs-theme-border);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-outline:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-subtle {\n    --bs-btn-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --bs-btn-hover-bg: color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --bs-btn-font-weight: 400;\n    --bs-btn-color: var(--bs-link-color);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-hover-color: var(--bs-link-hover-color);\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-active-color: var(--bs-link-hover-color);\n    --bs-btn-active-border-color: transparent;\n    --bs-btn-disabled-color: var(--bs-gray-600);\n    --bs-btn-disabled-border-color: transparent;\n    --bs-btn-box-shadow: 0 0 0 #000;\n    text-decoration: var(--bs-link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--bs-btn-color);\n  }\n  .btn-link:hover {\n    color: var(--bs-btn-hover-color);\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --bs-btn-min-height: 1.5rem;\n    --bs-btn-padding-y: 0.125rem;\n    --bs-btn-padding-x: 0.375rem;\n    --bs-btn-font-size: var(--bs-font-size-xs);\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --bs-btn-min-height: 2rem;\n    --bs-btn-padding-y: 0.25rem;\n    --bs-btn-padding-x: 0.5rem;\n    --bs-btn-font-size: 12.25px;\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --bs-btn-min-height: 2.75rem;\n    --bs-btn-padding-y: 0.5rem;\n    --bs-btn-padding-x: 1rem;\n    --bs-btn-font-size: 17.5px;\n    --bs-btn-line-height: 1.25rem;\n    --bs-btn-border-radius: var(--bs-border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --bs-btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --bs-btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --bs-btn-border-mix-color: #000;\n    --bs-btn-border-mix-amount: 10%;\n    --bs-btn-border-hover-mix-amount: 12.5%;\n    --bs-btn-border-active-mix-amount: 20%;\n    --bs-btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --bs-btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));\n    box-shadow: var(--bs-btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:hover,\n  .btn-group > [class*=btn-]:focus,\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:focus,\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 1;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--bs-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group.show .dropdown-toggle {\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  }\n  .btn-group.show .dropdown-toggle.btn-link {\n    box-shadow: none;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --bs-btn-close-size: 1.25rem;\n    --bs-btn-close-color: var(--bs-fg-body);\n    --bs-btn-close-opacity: 0.5;\n    --bs-btn-close-hover-opacity: 0.75;\n    --bs-btn-close-focus-opacity: 0.85;\n    --bs-btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--bs-btn-close-size);\n    height: var(--bs-btn-close-size);\n    padding: 0;\n    color: var(--bs-btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--bs-border-radius-sm);\n    opacity: var(--bs-btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--bs-btn-close-color);\n    text-decoration: none;\n    opacity: var(--bs-btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--bs-focus-ring);\n    opacity: var(--bs-btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--bs-btn-close-disabled-opacity);\n  }\n}\n@layer componenents {\n  .accordion {\n    --bs-accordion-color: var(--bs-color-body);\n    --bs-accordion-bg: var(--bs-bg-body);\n    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n    --bs-accordion-border-color: var(--bs-border-color);\n    --bs-accordion-border-width: var(--bs-border-width);\n    --bs-accordion-border-radius: var(--bs-border-radius-lg);\n    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-accordion-btn-padding-x: 1.25rem;\n    --bs-accordion-btn-padding-y: 1rem;\n    --bs-accordion-btn-color: var(--bs-fg-2);\n    --bs-accordion-btn-bg: var(--bs-accordion-bg);\n    --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --bs-accordion-btn-icon-width: 1.25rem;\n    --bs-accordion-btn-icon-transform: rotate(-180deg);\n    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);\n    --bs-accordion-body-padding-x: 1.25rem;\n    --bs-accordion-body-padding-y: 1rem;\n    --bs-accordion-active-color: var(--bs-fg);\n    --bs-accordion-active-bg: var(--bs-bg-2);\n  }\n  .accordion-button {\n    position: relative;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n    font-size: 14px;\n    color: var(--bs-accordion-btn-color);\n    text-align: start;\n    background-color: var(--bs-accordion-btn-bg);\n    border: 0;\n    border-radius: 0;\n    overflow-anchor: none;\n    transition: var(--bs-accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-button {\n      transition: none;\n    }\n  }\n  .accordion-button:not(.collapsed) {\n    color: var(--bs-accordion-active-color);\n    background-color: var(--bs-accordion-active-bg);\n    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n  }\n  .accordion-button:not(.collapsed)::after {\n    background-image: var(--bs-accordion-btn-active-icon);\n    transform: var(--bs-accordion-btn-icon-transform);\n  }\n  .accordion-button::after {\n    flex-shrink: 0;\n    width: var(--bs-accordion-btn-icon-width);\n    height: var(--bs-accordion-btn-icon-width);\n    margin-inline-start: auto;\n    content: \"\";\n    background-color: var(--bs-accordion-btn-color);\n    mask: var(--bs-accordion-btn-icon) no-repeat center 100%;\n    transition: var(--bs-accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-button::after {\n      transition: none;\n    }\n  }\n  .accordion-button:hover {\n    z-index: 2;\n  }\n  .accordion-button:focus {\n    z-index: 3;\n    outline: 0;\n    box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n  }\n  .accordion-header {\n    margin-bottom: 0;\n  }\n  .accordion-item {\n    color: var(--bs-accordion-color);\n    background-color: var(--bs-accordion-bg);\n    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--bs-accordion-border-radius);\n    border-start-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header .accordion-button {\n    border-start-start-radius: var(--bs-accordion-inner-border-radius);\n    border-start-end-radius: var(--bs-accordion-inner-border-radius);\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {\n    border-end-start-radius: var(--bs-accordion-inner-border-radius);\n    border-end-end-radius: var(--bs-accordion-inner-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-collapse {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-body {\n    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-collapse,\n  .accordion-flush > .accordion-item > .accordion-header .accordion-button,\n  .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --bs-alert-bg: var(--bs-theme-bg-subtle, transparent);\n    --bs-alert-padding-x: 1rem;\n    --bs-alert-padding-y: 1rem;\n    --bs-alert-margin-bottom: 1rem;\n    --bs-alert-color: var(--bs-theme-text, inherit);\n    --bs-alert-border-color: transparent;\n    --bs-alert-border: var(--bs-border-width) solid var(--bs-theme-border, var(--bs-alert-border-color));\n    --bs-alert-border-radius: var(--bs-border-radius);\n    --bs-alert-link-color: inherit;\n    position: relative;\n    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n    color: var(--bs-alert-color);\n    background-color: var(--bs-alert-bg);\n    border: var(--bs-alert-border);\n    border-radius: var(--bs-alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: 700;\n    color: var(--bs-alert-link-color);\n  }\n  .alert-dismissible {\n    padding-inline-end: 3rem;\n  }\n  .alert-dismissible .btn-close {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-end: 0;\n    z-index: 2;\n    padding: 1.25rem 1rem;\n  }\n}\n@layer components {\n  .badge {\n    --bs-badge-padding-x: 0.5em;\n    --bs-badge-padding-y: 0.35em;\n    --bs-badge-font-size: 0.75em;\n    --bs-badge-font-weight: 700;\n    --bs-badge-color: inherit;\n    --bs-badge-bg: var(--bs-bg-2);\n    --bs-badge-border-width: 1px;\n    --bs-badge-border-color: transparent;\n    --bs-badge-border-radius: var(--bs-border-radius);\n    display: inline-block;\n    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n    font-size: var(--bs-badge-font-size);\n    font-weight: var(--bs-badge-font-weight);\n    line-height: 1;\n    color: var(--bs-theme-contrast, var(--bs-badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--bs-theme-bg, var(--bs-badge-bg));\n    border: var(--bs-badge-border-width) solid var(--bs-badge-border-color);\n    border-radius: var(--bs-badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: var(--bs-theme-bg-subtle);\n    --bs-badge-border-color: transparent;\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n  .badge-outline {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: transparent;\n    --bs-badge-border-color: var(--bs-theme-border);\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --bs-breadcrumb-padding-x: 0;\n    --bs-breadcrumb-padding-y: 0;\n    --bs-breadcrumb-margin-bottom: 1rem;\n    --bs-breadcrumb-font-size: ;\n    --bs-breadcrumb-bg: ;\n    --bs-breadcrumb-border-radius: ;\n    --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n    --bs-breadcrumb-item-padding-x: 0.5rem;\n    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n    display: flex;\n    flex-wrap: wrap;\n    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n    margin-bottom: var(--bs-breadcrumb-margin-bottom);\n    font-size: var(--bs-breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--bs-breadcrumb-bg);\n    border-radius: var(--bs-breadcrumb-border-radius);\n  }\n  .breadcrumb-item + .breadcrumb-item {\n    padding-inline-start: var(--bs-breadcrumb-item-padding-x);\n  }\n  .breadcrumb-item + .breadcrumb-item::before {\n    float: inline-start;\n    padding-inline-end: var(--bs-breadcrumb-item-padding-x);\n    color: var(--bs-breadcrumb-divider-color);\n    content: var(--bs-breadcrumb-divider, \"/\");\n  }\n  [dir=rtl] .breadcrumb-item:not(:first-child)::before {\n    content: var(--bs-breadcrumb-divider, \"/\");\n  }\n  .breadcrumb-item.active {\n    color: var(--bs-breadcrumb-item-active-color);\n  }\n}\n@layer components {\n  .card {\n    --bs-card-spacer-y: 1rem;\n    --bs-card-spacer-x: 1rem;\n    --bs-card-title-spacer-y: 0.5rem;\n    --bs-card-title-color: ;\n    --bs-card-subtitle-color: ;\n    --bs-card-border-width: var(--bs-border-width);\n    --bs-card-border-color: var(--bs-border-color-translucent);\n    --bs-card-border-radius: var(--bs-border-radius);\n    --bs-card-box-shadow: ;\n    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));\n    --bs-card-cap-padding-y: 0.5rem;\n    --bs-card-cap-padding-x: 1rem;\n    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n    --bs-card-cap-color: ;\n    --bs-card-height: ;\n    --bs-card-color: ;\n    --bs-card-bg: var(--bs-bg-body);\n    --bs-card-img-overlay-padding: 1rem;\n    --bs-card-group-margin: 0.75rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--bs-card-height);\n    color: var(--bs-color-body);\n    word-wrap: break-word;\n    background-color: var(--bs-card-bg);\n    background-clip: border-box;\n    border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n    border-radius: var(--bs-card-border-radius);\n    box-shadow: var(--bs-card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card > .list-group {\n    border-block: inherit;\n  }\n  .card > .list-group:first-child {\n    border-block-start-width: 0;\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card > .list-group:last-child {\n    border-block-end-width: 0;\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card > .card-header + .list-group,\n  .card > .list-group + .card-footer {\n    border-block-start: 0;\n  }\n  .card-body {\n    flex: 1 1 auto;\n    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n    color: var(--bs-card-color);\n  }\n  .card-title {\n    margin-bottom: var(--bs-card-title-spacer-y);\n    color: var(--bs-card-title-color);\n  }\n  .card-subtitle {\n    margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n    margin-bottom: 0;\n    color: var(--bs-card-subtitle-color);\n  }\n  .card-text:last-child {\n    margin-bottom: 0;\n  }\n  .card-link:hover {\n    text-decoration: none;\n  }\n  .card-link + .card-link {\n    margin-inline-start: var(--bs-card-spacer-x);\n  }\n  .card-header {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--bs-card-cap-color);\n    background-color: var(--bs-card-cap-bg);\n    border-block-end: var(--bs-card-border-width) solid var(--bs-card-border-color);\n  }\n  .card-header:first-child {\n    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    color: var(--bs-card-cap-color);\n    background-color: var(--bs-card-cap-bg);\n    border-block-start: var(--bs-card-border-width) solid var(--bs-card-border-color);\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n  }\n  .card-header-tabs {\n    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .card-header-tabs .nav-link.active {\n    background-color: var(--bs-card-bg);\n    border-block-end-color: var(--bs-card-bg);\n  }\n  .card-header-pills {\n    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--bs-card-img-overlay-padding);\n    border-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--bs-card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: transform 0.6s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s 0.6s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15%;\n    padding: 0;\n    color: #fff;\n    text-align: center;\n    background: none;\n    filter: var(--bs-carousel-control-icon-filter);\n    border: 0;\n    opacity: 0.5;\n    transition: opacity 0.15s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9;\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: 2rem;\n    height: 2rem;\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(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: 15%;\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    padding: 0;\n    margin-inline: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--bs-carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: 10px solid transparent;\n    opacity: 0.5;\n    transition: opacity 0.6s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: 1;\n  }\n  .carousel-caption {\n    position: absolute;\n    right: 15%;\n    bottom: 1.25rem;\n    left: 15%;\n    padding-top: 1.25rem;\n    padding-bottom: 1.25rem;\n    color: var(--bs-carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  :root,\n  [data-bs-theme=light] {\n    --bs-carousel-indicator-active-bg: #fff;\n    --bs-carousel-caption-color: #fff;\n    --bs-carousel-control-icon-filter: ;\n  }\n  [data-bs-theme=dark] {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --bs-dialog-padding: 1rem;\n    --bs-dialog-width: 500px;\n    --bs-dialog-margin: 1.75rem;\n    --bs-dialog-color: var(--bs-fg-body);\n    --bs-dialog-bg: var(--bs-bg-body);\n    --bs-dialog-border-color: var(--bs-border-color-translucent);\n    --bs-dialog-border-width: var(--bs-border-width);\n    --bs-dialog-border-radius: var(--bs-border-radius-lg);\n    --bs-dialog-box-shadow: var(--bs-box-shadow-lg);\n    --bs-dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --bs-dialog-header-padding: 1rem;\n    --bs-dialog-header-border-color: var(--bs-border-color);\n    --bs-dialog-header-border-width: var(--bs-border-width);\n    --bs-dialog-footer-padding: 1rem;\n    --bs-dialog-footer-border-color: var(--bs-border-color);\n    --bs-dialog-footer-border-width: var(--bs-border-width);\n    --bs-dialog-footer-gap: 0.5rem;\n    max-width: var(--bs-dialog-width);\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--bs-dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--bs-dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--bs-dialog-width);\n    margin-block-end: var(--bs-dialog-margin);\n    margin-inline: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --bs-dialog-width: 280px;\n  }\n  .dialog-lg {\n    --bs-dialog-width: 800px;\n  }\n  .dialog-xl {\n    --bs-dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --bs-dialog-width: 100vw;\n    --bs-dialog-margin: 0;\n    --bs-dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--bs-dialog-header-padding);\n    border-block-end: var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--bs-font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--bs-dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--bs-dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--bs-dialog-footer-padding);\n    border-block-start: var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --bs-dropdown-zindex: 1000;\n    --bs-dropdown-gap: 0.125rem;\n    --bs-dropdown-min-width: 10rem;\n    --bs-dropdown-padding-x: 0.25rem;\n    --bs-dropdown-padding-y: 0.25rem;\n    --bs-dropdown-spacer: 0.125rem;\n    --bs-dropdown-font-size: 14px;\n    --bs-dropdown-color: var(--bs-fg-body);\n    --bs-dropdown-bg: var(--bs-bg-body);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-border-radius: var(--bs-border-radius-lg);\n    --bs-dropdown-border-width: var(--bs-border-width);\n    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-divider-margin-y: 0.125rem;\n    --bs-dropdown-divider-margin-x: 0.25rem;\n    --bs-dropdown-box-shadow: var(--bs-box-shadow);\n    --bs-dropdown-link-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-bg: var(--bs-bg-1);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-fg-3);\n    --bs-dropdown-item-gap: 0.5rem;\n    --bs-dropdown-item-padding-x: 0.75rem;\n    --bs-dropdown-item-padding-y: 0.25rem;\n    --bs-dropdown-item-border-radius: var(--bs-border-radius);\n    --bs-dropdown-header-color: var(--bs-gray-600);\n    --bs-dropdown-header-padding-x: 0.75rem;\n    --bs-dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--bs-dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--bs-dropdown-gap);\n    min-width: var(--bs-dropdown-min-width);\n    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n    margin: 0;\n    font-size: var(--bs-dropdown-font-size);\n    color: var(--bs-dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--bs-dropdown-bg);\n    background-clip: padding-box;\n    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n    border-radius: var(--bs-dropdown-border-radius);\n    box-shadow: var(--bs-dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--bs-dropdown-divider-margin-y) var(--bs-dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--bs-dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--bs-dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--bs-dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--bs-dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--bs-dropdown-link-hover-color);\n    background-color: var(--bs-dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--bs-dropdown-link-active-color);\n    background-color: var(--bs-dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--bs-dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--bs-dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    color: var(--bs-fg-2);\n  }\n  .dropdown-menu-dark {\n    --bs-dropdown-color: var(--bs-gray-300);\n    --bs-dropdown-bg: var(--bs-gray-900);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-box-shadow: ;\n    --bs-dropdown-link-color: var(--bs-gray-300);\n    --bs-dropdown-link-hover-color: #fff;\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-gray-500);\n    --bs-dropdown-header-color: var(--bs-gray-500);\n  }\n}\n@layer components {\n  .list-group {\n    --bs-list-group-color: var(--bs-color-body);\n    --bs-list-group-bg: var(--bs-bg-body);\n    --bs-list-group-border-color: var(--bs-border-color);\n    --bs-list-group-border-width: var(--bs-border-width);\n    --bs-list-group-border-radius: var(--bs-border-radius);\n    --bs-list-group-item-padding-x: 1rem;\n    --bs-list-group-item-padding-y: 0.5rem;\n    --bs-list-group-action-color: var(--bs-secondary-color);\n    --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n    --bs-list-group-action-active-color: var(--bs-color-body);\n    --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n    --bs-list-group-disabled-color: var(--bs-secondary-color);\n    --bs-list-group-disabled-bg: var(--bs-bg-body);\n    --bs-list-group-active-color: var(--bs-primary-contrast);\n    --bs-list-group-active-bg: var(--bs-primary-bg);\n    --bs-list-group-active-border-color: var(--bs-primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--bs-list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n    color: var(--bs-theme-text, var(--bs-list-group-color));\n    text-decoration: none;\n    background-color: var(--bs-theme-bg-subtle, var(--bs-list-group-bg));\n    border: var(--bs-list-group-border-width) solid var(--bs-theme-border, var(--bs-list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--bs-list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--bs-list-group-active-color);\n    background-color: var(--bs-list-group-active-bg);\n    border-color: var(--bs-list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--bs-list-group-border-width));\n    border-block-start-width: var(--bs-list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--bs-theme-text, var(--bs-list-group-action-color));\n    text-align: inherit;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-active-color));\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--bs-list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--bs-list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--bs-list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n    border-inline-start-width: var(--bs-list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--bs-list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --bs-nav-gap: 0.125rem;\n    --bs-nav-link-gap: 0.5rem;\n    --bs-nav-link-padding-x: 1rem;\n    --bs-nav-link-padding-y: 0.5rem;\n    --bs-nav-link-color: var(--bs-fg-2);\n    --bs-nav-link-hover-color: var(--bs-fg-1);\n    --bs-nav-link-hover-bg: var(--bs-bg-1);\n    --bs-nav-link-active-color: var(--bs-fg-body);\n    --bs-nav-link-active-bg: var(--bs-bg-2);\n    --bs-nav-link-disabled-color: var(--bs-fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--bs-nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--bs-nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n    font-weight: var(--bs-nav-link-font-weight);\n    color: var(--bs-nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--bs-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--bs-nav-link-hover-color);\n    background-color: var(--bs-nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    color: var(--bs-nav-link-hover-color);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--bs-nav-link-active-color);\n    background-color: var(--bs-nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--bs-nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --bs-nav-tabs-border-width: var(--bs-border-width);\n    --bs-nav-tabs-border-color: var(--bs-border-color);\n    --bs-nav-tabs-border-radius: var(--bs-border-radius);\n    --bs-nav-tabs-link-hover-border-color: var(--bs-border-subtle);\n    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n    --bs-nav-tabs-link-active-bg: var(--bs-bg-body);\n    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);\n    border-block-end: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n    border: var(--bs-nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--bs-nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--bs-nav-tabs-link-active-color);\n    background-color: var(--bs-nav-tabs-link-active-bg);\n    border-color: var(--bs-nav-tabs-link-active-border-color);\n    border-bottom-color: var(--bs-nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --bs-nav-pills-link-active-color: var(--bs-primary-contrast);\n    --bs-nav-pills-link-active-bg: var(--bs-primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--bs-nav-pills-link-active-color);\n    background-color: var(--bs-nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --bs-nav-gap: 1rem;\n    --bs-nav-link-active-bg: transparent;\n    --bs-nav-underline-border-width: 0.125rem;\n    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--bs-nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--bs-nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --bs-navbar-padding-x: 0;\n    --bs-navbar-padding-y: 0.5rem;\n    --bs-navbar-color: var(--bs-fg-2);\n    --bs-navbar-hover-color: var(--bs-fg-1);\n    --bs-navbar-disabled-color: var(--bs-fg-3);\n    --bs-navbar-active-color: var(--bs-fg);\n    --bs-navbar-brand-padding-y: 0.75rem;\n    --bs-navbar-brand-margin-end: 1rem;\n    --bs-navbar-brand-font-size: 17.5px;\n    --bs-navbar-brand-color: var(--bs-fg);\n    --bs-navbar-brand-hover-color: var(--bs-fg);\n    --bs-navbar-nav-link-padding-x: 0.75rem;\n    --bs-navbar-toggler-padding-y: 0.25rem;\n    --bs-navbar-toggler-padding-x: 0.75rem;\n    --bs-navbar-toggler-font-size: 17.5px;\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--bs-color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n    --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n    --bs-navbar-toggler-focus-width: 0.25em;\n    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--bs-navbar-brand-padding-y);\n    padding-bottom: var(--bs-navbar-brand-padding-y);\n    margin-inline-end: var(--bs-navbar-brand-margin-end);\n    font-size: var(--bs-navbar-brand-font-size);\n    color: var(--bs-navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--bs-navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --bs-nav-link-color: var(--bs-navbar-color);\n    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--bs-navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n    font-size: var(--bs-navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--bs-navbar-color);\n    background-color: transparent;\n    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n    border-radius: var(--bs-navbar-toggler-border-radius);\n    transition: var(--bs-navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus {\n    text-decoration: none;\n    outline: 0;\n    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--bs-navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--bs-scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --bs-navbar-color: rgba(255, 255, 255, 0.55);\n    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --bs-navbar-active-color: #fff;\n    --bs-navbar-brand-color: #fff;\n    --bs-navbar-brand-hover-color: #fff;\n    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --bs-offcanvas-zindex: 1045;\n  --bs-offcanvas-width: 400px;\n  --bs-offcanvas-height: 30vh;\n  --bs-offcanvas-padding-x: 1rem;\n  --bs-offcanvas-padding-y: 1rem;\n  --bs-offcanvas-color: var(--bs-color-body);\n  --bs-offcanvas-bg: var(--bs-bg-body);\n  --bs-offcanvas-border-width: var(--bs-border-width);\n  --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n  --bs-offcanvas-transition: transform 0.3s ease-in-out;\n  --bs-offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--bs-offcanvas-box-shadow);\n    transition: var(--bs-offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--bs-offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--bs-offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --bs-pagination-padding-x: 0.75rem;\n    --bs-pagination-padding-y: 0.375rem;\n    --bs-pagination-font-size: 14px;\n    --bs-pagination-color: var(--bs-link-color);\n    --bs-pagination-bg: var(--bs-bg-body);\n    --bs-pagination-border-width: var(--bs-border-width);\n    --bs-pagination-border-color: var(--bs-border-color);\n    --bs-pagination-border-radius: var(--bs-border-radius);\n    --bs-pagination-hover-color: var(--bs-link-hover-color);\n    --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n    --bs-pagination-hover-border-color: var(--bs-border-color);\n    --bs-pagination-focus-color: var(--bs-link-hover-color);\n    --bs-pagination-focus-bg: var(--bs-secondary-bg);\n    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);\n    --bs-pagination-active-color: var(--bs-primary-contrast);\n    --bs-pagination-active-bg: var(--bs-primary-bg);\n    --bs-pagination-active-border-color: var(--bs-primary-bg);\n    --bs-pagination-disabled-color: var(--bs-secondary-color);\n    --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n    --bs-pagination-disabled-border-color: var(--bs-border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n    font-size: var(--bs-pagination-font-size);\n    color: var(--bs-pagination-color);\n    text-decoration: none;\n    background-color: var(--bs-pagination-bg);\n    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--bs-pagination-hover-color);\n    background-color: var(--bs-pagination-hover-bg);\n    border-color: var(--bs-pagination-hover-border-color);\n  }\n  .page-link:focus {\n    z-index: 3;\n    color: var(--bs-pagination-focus-color);\n    background-color: var(--bs-pagination-focus-bg);\n    outline: 0;\n    box-shadow: var(--bs-pagination-focus-box-shadow);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--bs-pagination-active-color);\n    background-color: var(--bs-pagination-active-bg);\n    border-color: var(--bs-pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--bs-pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-pagination-disabled-bg);\n    border-color: var(--bs-pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--bs-pagination-border-radius);\n    border-end-start-radius: var(--bs-pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--bs-pagination-border-radius);\n    border-end-end-radius: var(--bs-pagination-border-radius);\n  }\n  .pagination-lg {\n    --bs-pagination-padding-x: 1.5rem;\n    --bs-pagination-padding-y: 0.75rem;\n    --bs-pagination-font-size: 17.5px;\n    --bs-pagination-border-radius: var(--bs-border-radius-lg);\n  }\n  .pagination-sm {\n    --bs-pagination-padding-x: 0.5rem;\n    --bs-pagination-padding-y: 0.25rem;\n    --bs-pagination-font-size: 12.25px;\n    --bs-pagination-border-radius: var(--bs-border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: 0.5;\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: 0.2;\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --bs-popover-zindex: 1070;\n    --bs-popover-max-width: 280px;\n    --bs-popover-font-size: var(--bs-font-size-sm);\n    --bs-popover-bg: var(--bs-bg-body);\n    --bs-popover-border-width: var(--bs-border-width);\n    --bs-popover-border-color: var(--bs-border-color-translucent);\n    --bs-popover-border-radius: var(--bs-border-radius-lg);\n    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-popover-box-shadow: var(--bs-box-shadow);\n    --bs-popover-header-padding-x: 1rem;\n    --bs-popover-header-padding-y: 0.75rem;\n    --bs-popover-header-font-size: 14px;\n    --bs-popover-header-color: inherit;\n    --bs-popover-header-bg: var(--bs-bg-1);\n    --bs-popover-body-padding-x: 1rem;\n    --bs-popover-body-padding-y: 0.75rem;\n    --bs-popover-body-color: var(--bs-color-body);\n    --bs-popover-arrow-width: 1rem;\n    --bs-popover-arrow-height: 0.5rem;\n    --bs-popover-arrow-border: var(--bs-popover-border-color);\n    z-index: var(--bs-popover-zindex);\n    display: block;\n    max-width: var(--bs-popover-max-width);\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--bs-popover-bg);\n    background-clip: padding-box;\n    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-radius: var(--bs-popover-border-radius);\n    box-shadow: var(--bs-popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    height: var(--bs-popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--bs-popover-border-width);\n    border-block-start-color: var(--bs-popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--bs-popover-border-width);\n    border-inline-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--bs-popover-border-width);\n    border-block-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--bs-popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--bs-popover-border-width);\n    border-inline-start-color: var(--bs-popover-bg);\n  }\n  .popover-header {\n    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--bs-popover-header-font-size);\n    color: var(--bs-popover-header-color);\n    background-color: var(--bs-popover-header-bg);\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-start-start-radius: var(--bs-popover-inner-border-radius);\n    border-start-end-radius: var(--bs-popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n    color: var(--bs-popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--bs-progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --bs-progress-height: 1rem;\n    --bs-progress-font-size: 10.5px;\n    --bs-progress-bg: var(--bs-secondary-bg);\n    --bs-progress-border-radius: var(--bs-border-radius);\n    --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n    --bs-progress-bar-color: #fff;\n    --bs-progress-bar-bg: var(--bs-primary-bg);\n    --bs-progress-bar-transition: width 0.6s ease;\n    display: flex;\n    height: var(--bs-progress-height);\n    overflow: hidden;\n    font-size: var(--bs-progress-font-size);\n    background-color: var(--bs-progress-bg);\n    border-radius: var(--bs-progress-border-radius);\n    box-shadow: var(--bs-progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--bs-progress-bar-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-progress-bar-bg);\n    transition: var(--bs-progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--bs-progress-height) var(--bs-progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: 1s linear infinite progress-bar-stripes;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--bs-spinner-width);\n    height: var(--bs-spinner-height);\n    vertical-align: var(--bs-spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-border-width: 0.25em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-border;\n    border: var(--bs-spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n    --bs-spinner-border-width: 0.2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --bs-spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .toast {\n    --bs-toast-zindex: 1090;\n    --bs-toast-padding-x: 0.75rem;\n    --bs-toast-padding-y: 0.5rem;\n    --bs-toast-spacing: 1.5rem;\n    --bs-toast-max-width: 350px;\n    --bs-toast-font-size: 0.875rem;\n    --bs-toast-color: ;\n    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-border-width: var(--bs-border-width);\n    --bs-toast-border-color: var(--bs-border-color-translucent);\n    --bs-toast-border-radius: var(--bs-border-radius);\n    --bs-toast-box-shadow: var(--bs-box-shadow);\n    --bs-toast-header-color: var(--bs-secondary-color);\n    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-header-border-color: var(--bs-border-color-translucent);\n    width: var(--bs-toast-max-width);\n    max-width: 100%;\n    font-size: var(--bs-toast-font-size);\n    color: var(--bs-toast-color);\n    pointer-events: auto;\n    background-color: var(--bs-toast-bg);\n    background-clip: padding-box;\n    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n    box-shadow: var(--bs-toast-box-shadow);\n    border-radius: var(--bs-toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --bs-toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--bs-toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--bs-toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n    color: var(--bs-toast-header-color);\n    background-color: var(--bs-toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n    border-start-start-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n    border-start-end-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--bs-toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--bs-toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--bs-toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .text-bg-primary {\n    color: var(--bs-primary-text);\n    --bs-bg: var(--bs-primary-bg-subtle);\n  }\n  .text-bg-accent {\n    color: var(--bs-accent-text);\n    --bs-bg: var(--bs-accent-bg-subtle);\n  }\n  .text-bg-success {\n    color: var(--bs-success-text);\n    --bs-bg: var(--bs-success-bg-subtle);\n  }\n  .text-bg-danger {\n    color: var(--bs-danger-text);\n    --bs-bg: var(--bs-danger-bg-subtle);\n  }\n  .text-bg-warning {\n    color: var(--bs-warning-text);\n    --bs-bg: var(--bs-warning-bg-subtle);\n  }\n  .text-bg-info {\n    color: var(--bs-info-text);\n    --bs-bg: var(--bs-info-bg-subtle);\n  }\n  .text-bg-inverse {\n    color: var(--bs-inverse-text);\n    --bs-bg: var(--bs-inverse-bg-subtle);\n  }\n  .text-bg-secondary {\n    color: var(--bs-secondary-text);\n    --bs-bg: var(--bs-secondary-bg-subtle);\n  }\n}\n@layer helpers {\n  .link-primary {\n    --bs-link-color: var(--bs-primary-text);\n  }\n  .link-primary:hover, .link-primary:focus {\n    --bs-link-color: var(--bs-primary-text-emphasis);\n    --bs-link-hover-color: var(--bs-primary-text-emphasis);\n  }\n  .link-accent {\n    --bs-link-color: var(--bs-accent-text);\n  }\n  .link-accent:hover, .link-accent:focus {\n    --bs-link-color: var(--bs-accent-text-emphasis);\n    --bs-link-hover-color: var(--bs-accent-text-emphasis);\n  }\n  .link-success {\n    --bs-link-color: var(--bs-success-text);\n  }\n  .link-success:hover, .link-success:focus {\n    --bs-link-color: var(--bs-success-text-emphasis);\n    --bs-link-hover-color: var(--bs-success-text-emphasis);\n  }\n  .link-danger {\n    --bs-link-color: var(--bs-danger-text);\n  }\n  .link-danger:hover, .link-danger:focus {\n    --bs-link-color: var(--bs-danger-text-emphasis);\n    --bs-link-hover-color: var(--bs-danger-text-emphasis);\n  }\n  .link-warning {\n    --bs-link-color: var(--bs-warning-text);\n  }\n  .link-warning:hover, .link-warning:focus {\n    --bs-link-color: var(--bs-warning-text-emphasis);\n    --bs-link-hover-color: var(--bs-warning-text-emphasis);\n  }\n  .link-info {\n    --bs-link-color: var(--bs-info-text);\n  }\n  .link-info:hover, .link-info:focus {\n    --bs-link-color: var(--bs-info-text-emphasis);\n    --bs-link-hover-color: var(--bs-info-text-emphasis);\n  }\n  .link-inverse {\n    --bs-link-color: var(--bs-inverse-text);\n  }\n  .link-inverse:hover, .link-inverse:focus {\n    --bs-link-color: var(--bs-inverse-text-emphasis);\n    --bs-link-hover-color: var(--bs-inverse-text-emphasis);\n  }\n  .link-secondary {\n    --bs-link-color: var(--bs-secondary-text);\n  }\n  .link-secondary:hover, .link-secondary:focus {\n    --bs-link-color: var(--bs-secondary-text-emphasis);\n    --bs-link-hover-color: var(--bs-secondary-text-emphasis);\n  }\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));\n  }\n  .link-body-emphasis:hover, .link-body-emphasis:focus {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));\n  }\n}\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: 0.25;\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--#{$prefix}root-font-size);\n      // @include font-size(var(--#{$prefix}root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--#{$prefix}body-font-family);\n    font-size: var(--#{$prefix}body-font-size);\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}color-body);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-block-start: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--#{$prefix}link-color);\n    text-decoration: var(--#{$prefix}link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --#{$prefix}link-color: var(--#{$prefix}link-hover-color);\n      // --#{$prefix}link-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n      color: var(--#{$prefix}link-hover-color);\n      text-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--#{$prefix}code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--#{$prefix}secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--#{$prefix}gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--#{$prefix}gray-100) !default;\n// $dark:          var(--#{$prefix}gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// $prefix:                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--#{$prefix}color-body) !default;\n$body-bg:                   var(--#{$prefix}bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--#{$prefix}gray-100), var(--#{$prefix}gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--#{$prefix}primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--#{$prefix}primary-contrast) !default;\n$component-active-bg:         var(--#{$prefix}primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--#{$prefix}font-size-3xl) !default;\n$h2-font-size: var(--#{$prefix}font-size-2xl) !default;\n$h3-font-size: var(--#{$prefix}font-size-xl) !default;\n$h4-font-size: var(--#{$prefix}font-size-lg) !default;\n$h5-font-size: var(--#{$prefix}font-size-md) !default;\n$h6-font-size: var(--#{$prefix}font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--#{$prefix}font-size-xs),\n    \"line-height\": var(--#{$prefix}line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--#{$prefix}font-size-sm),\n    \"line-height\": var(--#{$prefix}line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--#{$prefix}font-size-md),\n    \"line-height\": var(--#{$prefix}line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--#{$prefix}font-size-lg),\n    \"line-height\": var(--#{$prefix}line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--#{$prefix}font-size-xl),\n    \"line-height\": var(--#{$prefix}line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--#{$prefix}font-size-2xl),\n    \"line-height\": var(--#{$prefix}line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--#{$prefix}font-size-3xl),\n    \"line-height\": var(--#{$prefix}line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--#{$prefix}font-size-4xl),\n    \"line-height\": var(--#{$prefix}line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--#{$prefix}font-size-5xl),\n    \"line-height\": var(--#{$prefix}line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--#{$prefix}font-size-6xl),\n    \"line-height\": var(--#{$prefix}line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--#{$prefix}gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--#{$prefix}yellow-100) !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-font-family:       null !default;\n$input-btn-font-size:         $font-size-base !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:         .25em !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color:         $focus-ring-color !default;\n$input-btn-focus-blur:          $focus-ring-blur !default;\n$input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-font-size-sm:      $font-size-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-font-size-lg:      $font-size-lg !default;\n\n$input-btn-border-width:      var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}color-body) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     var(--#{$prefix}gray-600) !default;\n// $btn-link-color-contrast:     color-contrast($link-color) !default;\n// $btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end btn-variables\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--#{$prefix}border-color-translucent) !default;\n$offcanvas-border-width:            var(--#{$prefix}border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--#{$prefix}bg-body) !default;\n$offcanvas-color:                   var(--#{$prefix}color-body) !default;\n$offcanvas-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--#{$prefix}secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--#{$prefix}bg-body) !default;\n$kbd-bg:                            var(--#{$prefix}color-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--#{$prefix}gray-200) !default;\n// $body-bg-dark:                      var(--#{$prefix}gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--#{$prefix}gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--#{$prefix}gray-800), var(--#{$prefix}gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--#{$prefix}gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--#{$prefix}yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--#{$prefix}green-300) !default;\n$form-valid-border-color-dark:      var(--#{$prefix}green-300) !default;\n$form-invalid-color-dark:           var(--#{$prefix}red-300) !default;\n$form-invalid-border-color-dark:    var(--#{$prefix}red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    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    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$prefix: bs- !default;\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// 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: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--#{$prefix}color-body) !default;\n$table-bg:                    var(--#{$prefix}bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--#{$prefix}secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --#{$prefix}table-color-type: initial;\n    --#{$prefix}table-bg-type: initial;\n    --#{$prefix}table-color-state: initial;\n    --#{$prefix}table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --#{$prefix}table-color: #{$table-color};\n    --#{$prefix}table-bg: #{$table-bg};\n    --#{$prefix}table-border-color: #{$table-border-color};\n    --#{$prefix}table-accent-bg: #{$table-accent-bg};\n    --#{$prefix}table-striped-color: #{$table-striped-color};\n    --#{$prefix}table-striped-bg: #{$table-striped-bg};\n    --#{$prefix}table-active-color: #{$table-active-color};\n    --#{$prefix}table-active-bg: #{$table-active-bg};\n    --#{$prefix}table-hover-color: #{$table-hover-color};\n    --#{$prefix}table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--#{$prefix}theme-border, var(--#{$prefix}table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}theme-text, var(--#{$prefix}table-color))));\n      background-color: var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --#{$prefix}table-color-type: var(--#{$prefix}theme-text, var(--#{$prefix}table-striped-color));\n      --#{$prefix}table-bg-type: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --#{$prefix}table-color-type: var(--#{$prefix}theme-text, var(--#{$prefix}table-striped-color));\n      --#{$prefix}table-bg-type: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --#{$prefix}table-color-state: var(--#{$prefix}theme-text, var(--#{$prefix}table-active-color));\n    --#{$prefix}table-bg-state: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --#{$prefix}table-color-state: var(--#{$prefix}theme-text, var(--#{$prefix}table-hover-color));\n      --#{$prefix}table-bg-state: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}bg-body) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --#{$prefix}content-font-size: var(--#{$prefix}font-size-sm);\n    --#{$prefix}content-gap: 20px;\n    --#{$prefix}heading-color: light-dark(var(--bs-gray-900), var(--bs-white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--#{$prefix}content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--#{$prefix}content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --#{$prefix}content-font-size: var(--#{$prefix}font-size-md);\n      --#{$prefix}content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--#{$prefix}content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--#{$prefix}content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--#{$prefix}content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: 1px solid var(--#{$prefix}border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      margin-top: 0;\n      margin-bottom: calc(var(--#{$prefix}content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--#{$prefix}content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--#{$prefix}content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      margin-bottom: calc(var(--#{$prefix}content-gap) / 4);\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--#{$prefix}link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--#{$prefix}link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--#{$prefix}link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--#{$prefix}content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--#{$prefix}border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--#{$prefix}border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --#{$prefix}gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--#{$prefix}gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --#{$prefix}columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --#{$prefix}columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --#{$prefix}columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-top: calc(-1 * var(--#{$prefix}gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  margin-inline-start: if($num == 0, 0, math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    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    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    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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .form-control {\n    --#{$prefix}control-min-height: #{$control-min-height};\n    --#{$prefix}control-padding-y: #{$control-padding-y};\n    --#{$prefix}control-padding-x: #{$control-padding-x};\n    --#{$prefix}control-font-size: #{$control-font-size};\n    --#{$prefix}control-line-height: #{$control-line-height};\n    --#{$prefix}control-color: #{$control-color};\n    --#{$prefix}control-bg: #{$control-bg};\n    --#{$prefix}control-border-width: #{$control-border-width};\n    --#{$prefix}control-border-color: #{$control-border-color};\n    --#{$prefix}control-border-radius: #{$control-border-radius};\n    --#{$prefix}control-select-bg-color: #{$control-select-indicator-color};\n    --#{$prefix}control-select-bg: #{escape-svg($control-select-indicator)};\n    --#{$prefix}control-select-bg-position: #{$control-select-bg-position};\n    --#{$prefix}control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--#{$prefix}control-min-height);\n    padding: var(--#{$prefix}control-padding-y) var(--#{$prefix}control-padding-x);\n    font-size: var(--#{$prefix}control-font-size);\n    line-height: var(--#{$prefix}control-line-height);\n    color: var(--#{$prefix}control-color);\n    appearance: none;\n    background-color: var(--#{$prefix}control-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}control-border-width) solid var(--#{$prefix}control-border-color);\n    @include border-radius(var(--#{$prefix}control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      height: if(math.unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--#{$prefix}control-min-height);\n      padding: var(--#{$prefix}control-padding-y) var(--#{$prefix}control-padding-x);\n      margin: calc(var(--#{$prefix}control-padding-y) * -1) calc(var(--#{$prefix}control-padding-x) * -1);\n      margin-inline-end: var(--#{$prefix}control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--#{$prefix}control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: $input-padding-y 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--#{$prefix}control-padding-x) * 3);\n    background-image: var(--#{$prefix}control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--#{$prefix}control-select-bg-position);\n    background-size: var(--#{$prefix}control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--#{$prefix}control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --#{$prefix}control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n  .form-control-sm {\n    --#{$prefix}control-min-height: #{$control-min-height-sm};\n    --#{$prefix}control-padding-y: #{$control-padding-y-sm};\n    --#{$prefix}control-padding-x: #{$control-padding-x-sm};\n    --#{$prefix}control-font-size: #{$control-font-size-sm};\n    --#{$prefix}control-line-height: #{$control-line-height-sm};\n    --#{$prefix}control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --#{$prefix}control-min-height: #{$control-min-height-lg};\n    --#{$prefix}control-padding-y: #{$control-padding-y-lg};\n    --#{$prefix}control-padding-x: #{$control-padding-x-lg};\n    --#{$prefix}control-font-size: #{$control-font-size-lg};\n    --#{$prefix}control-line-height: #{$control-line-height-lg};\n    --#{$prefix}control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n$control-min-height: 2.5rem !default;\n$control-min-height-sm: 2rem !default;\n$control-min-height-lg: 3rem !default;\n$control-padding-y: .375rem !default;\n$control-padding-x: .75rem !default;\n$control-font-size: $font-size-base !default;\n$control-line-height: $line-height-base !default;\n$control-color: var(--#{$prefix}color-body) !default;\n$control-bg: var(--#{$prefix}bg-body) !default;\n$control-border-width: var(--#{$prefix}border-width) !default;\n$control-border-color: var(--#{$prefix}border-color) !default;\n$control-border-radius: var(--#{$prefix}border-radius) !default;\n\n$control-padding-y-sm: .25rem !default;\n$control-padding-x-sm: .5rem !default;\n$control-font-size-sm: $font-size-sm !default;\n$control-line-height-sm: $line-height-sm !default;\n$control-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n\n$control-padding-y-lg: .5rem !default;\n$control-padding-x-lg: 1rem !default;\n$control-font-size-lg: $font-size-lg !default;\n$control-line-height-lg: $line-height-lg !default;\n$control-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$control-select-indicator-color:       var(--#{$prefix}gray-600) !default;\n$control-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n$control-select-bg-position:           right $control-padding-x center !default;\n$control-select-bg-size:               16px 12px !default;\n\n$control-select-indicator-color-dark:  #fff !default;\n$control-select-indicator-dark:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n// $input-btn-font-family:       null !default;\n$input-btn-font-size:         $font-size-base !default;\n$input-btn-line-height:       $line-height-base !default;\n\n// $input-btn-focus-width:         $focus-ring-width !default;\n// $input-btn-focus-color-opacity: $focus-ring-opacity !default;\n// $input-btn-focus-color:         $focus-ring-color !default;\n// $input-btn-focus-blur:          $focus-ring-blur !default;\n// $input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-font-size-sm:      $font-size-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-font-size-lg:      $font-size-lg !default;\n\n// $input-btn-border-width:      var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y:                       $input-btn-padding-y !default;\n$input-padding-x:                       $input-btn-padding-x !default;\n// $input-font-family:                     $input-btn-font-family !default;\n$input-font-size:                       $input-btn-font-size !default;\n// $input-font-weight:                     $font-weight-base !default;\n$input-line-height:                     $input-btn-line-height !default;\n\n$input-padding-y-sm:                    $input-btn-padding-y-sm !default;\n$input-padding-x-sm:                    $input-btn-padding-x-sm !default;\n$input-font-size-sm:                    $input-btn-font-size-sm !default;\n\n$input-padding-y-lg:                    $input-btn-padding-y-lg !default;\n$input-padding-x-lg:                    $input-btn-padding-x-lg !default;\n$input-font-size-lg:                    $input-btn-font-size-lg !default;\n\n$input-bg:                              var(--#{$prefix}bg-body) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}color-body) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    var(--#{$prefix}border-width) !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              var(--#{$prefix}primary-border) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}color-body) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default;\n\n$input-height-inner:                    add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half:               add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter:            add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n// $input-height:                          add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n// $input-height-sm:                       add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n// $input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n$input-height:                          2.5rem !default;\n$input-height-sm:                       2rem !default;\n$input-height-lg:                       3rem !default;\n\n$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width:                      3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           $font-size-sm !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--#{$prefix}success) !default;\n$form-feedback-invalid-color:       var(--#{$prefix}danger) !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--#{$prefix}focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--#{$prefix}focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--#{$prefix}focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--#{$prefix}gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--#{$prefix}gray-700), $outer-color: var(--#{$prefix}gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--#{$prefix}border-color) !default;\n$check-checked-bg: var(--#{$prefix}primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--#{$prefix}primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--#{$prefix}bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--#{$prefix}gap, .5rem);\n    align-items: var(--#{$prefix}align-items, start);\n\n    .description {\n      color: var(--#{$prefix}secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --#{$prefix}check-bg: transparent;\n    --#{$prefix}check-border-color: #{$check-border-color};\n    --#{$prefix}check-checked-bg: #{$check-checked-bg};\n    --#{$prefix}check-checked-border-color: #{$check-checked-border-color};\n    --#{$prefix}check-indeterminate-bg: #{$check-indeterminate-bg};\n    --#{$prefix}check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --#{$prefix}check-disabled-bg: #{$check-disabled-bg};\n    --#{$prefix}check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-bg));\n      border: 1px solid var(--#{$prefix}theme-bg, var(--#{$prefix}check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-checked-bg));\n      border-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-checked-border-color));\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--#{$prefix}primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --#{$prefix}check-bg: var(--#{$prefix}check-disabled-bg);\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:has(input:disabled:checked) {\n      opacity: var(--#{$prefix}check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--#{$prefix}border-color) !default;\n$radio-checked-bg: var(--#{$prefix}primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--#{$prefix}bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--#{$prefix}gap, .5rem);\n    align-items: var(--#{$prefix}align-items, start);\n\n    .description {\n      color: var(--#{$prefix}secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --#{$prefix}radio-bg: transparent;\n    --#{$prefix}radio-border-color: #{$radio-border-color};\n    --#{$prefix}radio-checked-bg: #{$radio-checked-bg};\n    --#{$prefix}radio-checked-border-color: #{$radio-checked-border-color};\n    --#{$prefix}radio-disabled-bg: #{$radio-disabled-bg};\n    --#{$prefix}radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-bg));\n    border: 1px solid var(--#{$prefix}theme-bg, var(--#{$prefix}radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--#{$prefix}theme-contrast, var(--#{$prefix}primary-contrast));\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-checked-bg));\n      border-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --#{$prefix}radio-bg: var(--#{$prefix}radio-disabled-bg);\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --#{$prefix}switch-height: 1.25rem;\n    --#{$prefix}switch-width: calc(var(--#{$prefix}switch-height) * 1.5);\n    --#{$prefix}switch-padding: .0625rem;\n    --#{$prefix}switch-bg: var(--#{$prefix}secondary-bg);\n    --#{$prefix}switch-border-width: var(--#{$prefix}border-width);\n    --#{$prefix}switch-border-color: var(--#{$prefix}border-color);\n    --#{$prefix}switch-indicator-bg: var(--#{$prefix}white);\n    --#{$prefix}switch-checked-bg: var(--#{$prefix}primary-base);\n    --#{$prefix}switch-checked-border-color: var(--#{$prefix}switch-checked-bg);\n    --#{$prefix}switch-checked-indicator-bg: var(--#{$prefix}white);\n    --#{$prefix}switch-disabled-bg: var(--#{$prefix}secondary-bg);\n    --#{$prefix}switch-disabled-indicator-bg: var(--#{$prefix}secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--#{$prefix}switch-width);\n    height: var(--#{$prefix}switch-height);\n    padding: var(--#{$prefix}switch-padding);\n    background-color: var(--#{$prefix}switch-bg);\n    border: var(--#{$prefix}switch-border-width) solid var(--#{$prefix}switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2) - var(--#{$prefix}switch-border-width) * 2);\n      height: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2) - var(--#{$prefix}switch-border-width) * 2);\n      // width: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2));\n      // height: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2));\n      content: \"\";\n      background-color: var(--#{$prefix}switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--#{$prefix}switch-height) / 2 + var(--#{$prefix}switch-padding));\n      background-color: var(--#{$prefix}switch-checked-bg);\n      border-color: var(--#{$prefix}switch-checked-border-color);\n    }\n\n    &:has(input:disabled) {\n      --#{$prefix}switch-bg: var(--#{$prefix}switch-disabled-bg);\n      --#{$prefix}switch-indicator-bg: var(--#{$prefix}switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --#{$prefix}switch-height: 1em;\n  }\n  .switch-lg {\n    --#{$prefix}switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width:                   1rem !default;\n$form-range-thumb-height:                  $form-range-thumb-width !default;\n$form-range-thumb-bg:                      $component-active-bg !default;\n$form-range-thumb-border:                  0 !default;\n$form-range-thumb-border-radius:           1rem !default;\n$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      // No box-shadow() mixin for focus accessibility.\n      &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n      &::-moz-range-thumb     { box-shadow: $form-range-thumb-focus-box-shadow; }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--#{$prefix}gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    $validation-messages: \"\";\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 var(--#{$prefix}font-size-sm) !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}bg-body) !default;\n$tooltip-bg:                        var(--#{$prefix}fg-body) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .95 !default;\n$tooltip-padding-y:                 $spacer * .375 !default;\n$tooltip-padding-x:                 $spacer * .75 !default;\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size:     $tooltip-font-size !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n@layer components {\n  .tooltip {\n    // scss-docs-start tooltip-css-vars\n    --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n    --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n    --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n    --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n    --#{$prefix}tooltip-font-size: #{$tooltip-font-size};\n    --#{$prefix}tooltip-color: #{$tooltip-color};\n    --#{$prefix}tooltip-bg: #{$tooltip-bg};\n    --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n    --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n    --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n    --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--#{$prefix}tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--#{$prefix}tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--#{$prefix}tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--#{$prefix}tooltip-arrow-width);\n      height: var(--#{$prefix}tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-block-end-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-inline-start-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--#{$prefix}tooltip-max-width);\n    padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n    color: var(--#{$prefix}tooltip-color);\n    text-align: center;\n    background-color: var(--#{$prefix}tooltip-bg);\n    @include border-radius(var(--#{$prefix}tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(&, \"&\", \"\")}:#{$state},\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --#{$prefix}form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --#{$prefix}btn-min-height: 2.25rem;\n    --#{$prefix}btn-padding-x: #{$btn-padding-x};\n    --#{$prefix}btn-padding-y: #{$btn-padding-y};\n    --#{$prefix}btn-font-family: #{$btn-font-family};\n    --#{$prefix}btn-font-size: #{$btn-font-size};\n    --#{$prefix}btn-font-weight: #{$btn-font-weight};\n    --#{$prefix}btn-line-height: #{$btn-line-height};\n    --#{$prefix}btn-color: #{$btn-color};\n    --#{$prefix}btn-border-width: #{$btn-border-width};\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-border-radius: #{$btn-border-radius};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--#{$prefix}btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--#{$prefix}btn-min-height);\n    padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n    font-family: var(--#{$prefix}btn-font-family);\n    font-size: var(--#{$prefix}btn-font-size);\n    font-weight: var(--#{$prefix}btn-font-weight);\n    line-height: var(--#{$prefix}btn-line-height);\n    color: var(--#{$prefix}btn-color);\n    text-decoration: 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: var(--#{$prefix}btn-bg, var(--#{$prefix}bg-2));\n    border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n    @include border-radius(var(--#{$prefix}btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n      background-color: var(--#{$prefix}btn-hover-bg, var(--#{$prefix}bg-3));\n      border-color: var(--#{$prefix}btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--#{$prefix}btn-active-color);\n      background-color: var(--#{$prefix}btn-active-bg, var(--#{$prefix}bg-3));\n      border-color: var(--#{$prefix}btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--#{$prefix}btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}btn-disabled-bg, var(--#{$prefix}bg-1));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-disabled-border-color);\n      opacity: var(--#{$prefix}btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-#{$property}: transparent;\n        } @else {\n          --#{$prefix}btn-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --#{$prefix}btn-active-#{$property}: var(--#{$prefix}theme-#{$value});\n        } @else {\n          --#{$prefix}btn-active-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-disabled-#{$property}: transparent;\n        } @else {\n          --#{$prefix}btn-disabled-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --#{$prefix}btn-hover-#{$property}: color-mix(in oklch, var(--#{$prefix}theme-#{$first-value}) 50%, var(--#{$prefix}theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --#{$prefix}btn-hover-#{$property}: var(--#{$prefix}theme-#{$value});\n          } @else {\n            --#{$prefix}btn-hover-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--#{$prefix}theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --#{$prefix}btn-active-#{$property}: var(--#{$prefix}theme-#{$value});\n          } @else {\n            --#{$prefix}btn-active-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-disabled-#{$property}: transparent;\n          } @else {\n            --#{$prefix}btn-disabled-#{$property}: var(--#{$prefix}theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --#{$prefix}btn-font-weight: #{$font-weight-normal};\n    --#{$prefix}btn-color: #{$btn-link-color};\n    --#{$prefix}btn-bg: transparent;\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-active-border-color: transparent;\n    --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n    --#{$prefix}btn-disabled-border-color: transparent;\n    --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows\n    // --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};\n\n    text-decoration: var(--#{$prefix}link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}btn-color);\n    }\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --#{$prefix}btn-min-height: #{map.get($properties, \"min-height\")};\n      --#{$prefix}btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --#{$prefix}btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --#{$prefix}btn-font-size: #{map.get($properties, \"font-size\")};\n      --#{$prefix}btn-line-height: #{map.get($properties, \"line-height\")};\n      --#{$prefix}btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--#{$prefix}btn-active-color);\n      background-color: var(--#{$prefix}btn-active-bg, var(--#{$prefix}bg-3));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-active-border-color);\n      @include box-shadow(var(--#{$prefix}btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--#{$prefix}btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}btn-disabled-bg, var(--#{$prefix}bg-1));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-disabled-border-color);\n      opacity: var(--#{$prefix}btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --#{$prefix}btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --#{$prefix}btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --#{$prefix}btn-border-mix-color: #000;\n    --#{$prefix}btn-border-mix-amount: 10%;\n    --#{$prefix}btn-border-hover-mix-amount: 12.5%;\n    --#{$prefix}btn-border-active-mix-amount: 20%;\n    --#{$prefix}btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --#{$prefix}btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--#{$prefix}btn-gradient-start),\n        var(--#{$prefix}btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-mix-amount));\n    box-shadow: var(--#{$prefix}btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--#{$prefix}btn-gradient-start),\n          var(--#{$prefix}btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-active-mix-amount));\n      box-shadow: var(--#{$prefix}btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"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:has(input:checked),\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:hover,\n    > [class*=\"btn-\"]:focus,\n    > [class*=\"btn-\"]:active,\n    > [class*=\"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    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $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    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--#{$prefix}fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --#{$prefix}btn-close-size: #{$btn-close-size};\n    --#{$prefix}btn-close-color: #{$btn-close-color};\n    --#{$prefix}btn-close-opacity: #{$btn-close-opacity};\n    --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--#{$prefix}btn-close-size);\n    height: var(--#{$prefix}btn-close-size);\n    padding: 0;\n    color: var(--#{$prefix}btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--#{$prefix}border-radius-sm));\n    opacity: var(--#{$prefix}btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--#{$prefix}btn-close-color);\n      text-decoration: none;\n      opacity: var(--#{$prefix}btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--#{$prefix}btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--#{$prefix}btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}color-body) !default;\n$accordion-bg:                            var(--#{$prefix}bg-body) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius-lg) !default;\n$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;\n\n$accordion-body-padding-y:                $accordion-padding-y !default;\n$accordion-body-padding-x:                $accordion-padding-x !default;\n\n$accordion-button-padding-y:              $accordion-padding-y !default;\n$accordion-button-padding-x:              $accordion-padding-x !default;\n$accordion-button-color:                  var(--#{$prefix}fg-2) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}bg-2) !default;\n$accordion-button-active-color:           var(--#{$prefix}fg) !default;\n\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#000' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n@layer componenents {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --#{$prefix}accordion-color: #{$accordion-color};\n    --#{$prefix}accordion-bg: #{$accordion-bg};\n    --#{$prefix}accordion-transition: #{$accordion-transition};\n    --#{$prefix}accordion-border-color: #{$accordion-border-color};\n    --#{$prefix}accordion-border-width: #{$accordion-border-width};\n    --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n    --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n    --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n    --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n    --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n    --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n    --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n    --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n    --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n    --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-button {\n    position: relative;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n    font-size: $font-size-base;\n    color: var(--#{$prefix}accordion-btn-color);\n    text-align: start; // Reset button style\n    background-color: var(--#{$prefix}accordion-btn-bg);\n    border: 0;\n    @include border-radius(0);\n    overflow-anchor: none;\n    @include transition(var(--#{$prefix}accordion-transition));\n\n    &:not(.collapsed) {\n      color: var(--#{$prefix}accordion-active-color);\n      background-color: var(--#{$prefix}accordion-active-bg);\n      box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color);\n\n      &::after {\n        background-image: var(--#{$prefix}accordion-btn-active-icon);\n        transform: var(--#{$prefix}accordion-btn-icon-transform);\n      }\n    }\n\n    // Accordion icon\n    &::after {\n      flex-shrink: 0;\n      width: var(--#{$prefix}accordion-btn-icon-width);\n      height: var(--#{$prefix}accordion-btn-icon-width);\n      margin-inline-start: auto;\n      content: \"\";\n      background-color: var(--#{$prefix}accordion-btn-color);\n      mask: var(--#{$prefix}accordion-btn-icon) no-repeat center 100%;\n      @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus {\n      z-index: 3;\n      outline: 0;\n      box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n    }\n  }\n\n  .accordion-header {\n    margin-bottom: 0;\n  }\n\n  .accordion-item {\n    color: var(--#{$prefix}accordion-color);\n    background-color: var(--#{$prefix}accordion-bg);\n    border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        &.collapsed {\n          @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n        }\n      }\n\n      > .accordion-collapse {\n        @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child { border-block-start: 0; }\n      &:last-child { border-block-end: 0; }\n\n      // stylelint-disable selector-max-class\n      > .accordion-collapse,\n      > .accordion-header .accordion-button,\n      > .accordion-header .accordion-button.collapsed {\n        @include border-radius(0);\n      }\n      // stylelint-enable selector-max-class\n    }\n  }\n\n  // @if $enable-dark-mode {\n  //   @include color-mode(dark) {\n  //     .accordion-button::after {\n  //       --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)};\n  //       --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)};\n  //     }\n  //   }\n  // }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --#{$prefix}alert-bg: var(--#{$prefix}theme-bg-subtle, transparent);\n    --#{$prefix}alert-padding-x: #{$alert-padding-x};\n    --#{$prefix}alert-padding-y: #{$alert-padding-y};\n    --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n    --#{$prefix}alert-color: var(--#{$prefix}theme-text, inherit);\n    --#{$prefix}alert-border-color: transparent;\n    --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}theme-border, var(--#{$prefix}alert-border-color));\n    --#{$prefix}alert-border-radius: #{$alert-border-radius};\n    --#{$prefix}alert-link-color: inherit;\n    // scss-docs-end alert-css-vars\n\n    position: relative;\n    padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n    // margin-bottom: var(--#{$prefix}alert-margin-bottom);\n    color: var(--#{$prefix}alert-color);\n    background-color: var(--#{$prefix}alert-bg);\n    border: var(--#{$prefix}alert-border);\n    @include border-radius(var(--#{$prefix}alert-border-radius));\n  }\n\n  // Headings for larger alerts\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n    color: var(--#{$prefix}alert-link-color);\n  }\n\n\n  // Dismissible alerts\n  //\n  // Expand the right padding and account for the close button's positioning.\n\n  .alert-dismissible {\n    padding-inline-end: $alert-dismissible-padding-r;\n\n    // Adjust close link position\n    .btn-close {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-end: 0;\n      z-index: $stretched-link-z-index + 1;\n      padding: $alert-padding-y * 1.25 $alert-padding-x;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       inherit !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .5em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --#{$prefix}badge-padding-x: #{$badge-padding-x};\n    --#{$prefix}badge-padding-y: #{$badge-padding-y};\n    --#{$prefix}badge-font-size: #{$badge-font-size};\n    --#{$prefix}badge-font-weight: #{$badge-font-weight};\n    --#{$prefix}badge-color: #{$badge-color};\n    --#{$prefix}badge-bg: var(--#{$prefix}bg-2);\n    --#{$prefix}badge-border-width: #{$border-width};\n    --#{$prefix}badge-border-color: transparent;\n    --#{$prefix}badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-block;\n    padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n    font-size: var(--#{$prefix}badge-font-size);\n    font-weight: var(--#{$prefix}badge-font-weight);\n    line-height: 1;\n    color: var(--#{$prefix}theme-contrast, var(--#{$prefix}badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}badge-bg));\n    border: var(--#{$prefix}badge-border-width) solid var(--#{$prefix}badge-border-color);\n    @include border-radius(var(--#{$prefix}badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --#{$prefix}badge-#{$property}: transparent;\n        } @else {\n          --#{$prefix}badge-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n      color: var(--#{$prefix}badge-color);\n      background-color: var(--#{$prefix}badge-bg);\n      border-color: var(--#{$prefix}badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size:              null !default;\n$breadcrumb-padding-y:              0 !default;\n$breadcrumb-padding-x:              0 !default;\n$breadcrumb-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                string.quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    --#{$prefix}breadcrumb-font-size: #{$breadcrumb-font-size};\n    --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n    --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n    --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n    margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n    font-size: var(--#{$prefix}breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--#{$prefix}breadcrumb-bg);\n    @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n    + .breadcrumb-item {\n      padding-inline-start: var(--#{$prefix}breadcrumb-item-padding-x);\n\n      &::before {\n        float: inline-start; // Suppress inline spacings and underlining of the separator\n        padding-inline-end: var(--#{$prefix}breadcrumb-item-padding-x);\n        color: var(--#{$prefix}breadcrumb-divider-color);\n        content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider));\n      }\n    }\n\n    [dir=\"rtl\"] &:not(:first-child)::before {\n      content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped));\n    }\n\n    &.active {\n      color: var(--#{$prefix}breadcrumb-item-active-color);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}bg-body) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --#{$prefix}card-spacer-y: #{$card-spacer-y};\n    --#{$prefix}card-spacer-x: #{$card-spacer-x};\n    --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n    --#{$prefix}card-title-color: #{$card-title-color};\n    --#{$prefix}card-subtitle-color: #{$card-subtitle-color};\n    --#{$prefix}card-border-width: #{$card-border-width};\n    --#{$prefix}card-border-color: #{$card-border-color};\n    --#{$prefix}card-border-radius: #{$card-border-radius};\n    --#{$prefix}card-box-shadow: #{$card-box-shadow};\n    --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n    --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n    --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n    --#{$prefix}card-cap-bg: #{$card-cap-bg};\n    --#{$prefix}card-cap-color: #{$card-cap-color};\n    --#{$prefix}card-height: #{$card-height};\n    --#{$prefix}card-color: #{$card-color};\n    --#{$prefix}card-bg: #{$card-bg};\n    --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n    --#{$prefix}card-group-margin: #{$card-group-margin};\n    // scss-docs-end card-css-vars\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--#{$prefix}card-height);\n    color: var(--#{$prefix}color-body);\n    word-wrap: break-word;\n    background-color: var(--#{$prefix}card-bg);\n    background-clip: border-box;\n    border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n    @include border-radius(var(--#{$prefix}card-border-radius));\n    @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n\n    > .list-group {\n      border-block: inherit;\n\n      &:first-child {\n        border-block-start-width: 0;\n        @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n\n      &:last-child  {\n        border-block-end-width: 0;\n        @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n    }\n\n    // Due to specificity of the above selector (`.card > .list-group`), we must\n    // use a child selector here to prevent double borders.\n    > .card-header + .list-group,\n    > .list-group + .card-footer {\n      border-block-start: 0;\n    }\n  }\n\n  .card-body {\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n    color: var(--#{$prefix}card-color);\n  }\n\n  .card-title {\n    margin-bottom: var(--#{$prefix}card-title-spacer-y);\n    color: var(--#{$prefix}card-title-color);\n  }\n\n  .card-subtitle {\n    margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y));\n    margin-bottom: 0;\n    color: var(--#{$prefix}card-subtitle-color);\n  }\n\n  .card-text:last-child {\n    margin-bottom: 0;\n  }\n\n  .card-link {\n    &:hover {\n      text-decoration: none;\n    }\n\n    + .card-link {\n      margin-inline-start: var(--#{$prefix}card-spacer-x);\n    }\n  }\n\n  //\n  // Optional textual caps\n  //\n\n  .card-header {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-block-end: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:first-child {\n      @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-block-start: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:last-child {\n      @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n    }\n  }\n\n\n  //\n  // Header navs\n  //\n\n  .card-header-tabs {\n    margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--#{$prefix}card-bg);\n      border-block-end-color: var(--#{$prefix}card-bg);\n    }\n  }\n\n  .card-header-pills {\n    margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--#{$prefix}card-img-overlay-padding);\n    @include border-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--#{$prefix}card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-variables\n$carousel-control-color:             $white !default;\n$carousel-control-width:             15% !default;\n$carousel-control-opacity:           .5 !default;\n$carousel-control-hover-opacity:     .9 !default;\n$carousel-control-transition:        opacity .15s ease !default;\n$carousel-control-icon-filter:       null !default;\n\n$carousel-indicator-width:           30px !default;\n$carousel-indicator-height:          3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer:          3px !default;\n$carousel-indicator-opacity:         .5 !default;\n$carousel-indicator-active-bg:       $white !default;\n$carousel-indicator-active-opacity:  1 !default;\n$carousel-indicator-transition:      opacity .6s ease !default;\n\n$carousel-caption-width:             70% !default;\n$carousel-caption-color:             $white !default;\n$carousel-caption-padding-y:         1.25rem !default;\n$carousel-caption-spacer:            1.25rem !default;\n\n$carousel-control-icon-width:        2rem !default;\n\n$carousel-control-prev-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\") !default;\n$carousel-control-next-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\") !default;\n\n$carousel-transition-duration:       .6s !default;\n$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-indicator-active-bg-dark:   $black !default;\n$carousel-caption-color-dark:         $black !default;\n$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition($carousel-transition);\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s $carousel-transition-duration);\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: $carousel-control-width;\n    padding: 0;\n    color: $carousel-control-color;\n    text-align: center;\n    background: none;\n    filter: var(--#{$prefix}carousel-control-icon-filter);\n    border: 0;\n    opacity: $carousel-control-opacity;\n    @include transition($carousel-control-transition);\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: $carousel-control-color;\n      text-decoration: none;\n      outline: 0;\n      opacity: $carousel-control-hover-opacity;\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: $carousel-control-icon-width;\n    height: $carousel-control-icon-width;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: $carousel-control-width;\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: $carousel-indicator-width;\n      height: $carousel-indicator-height;\n      padding: 0;\n      margin-inline: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--#{$prefix}carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: $carousel-indicator-hit-area-height solid transparent;\n      opacity: $carousel-indicator-opacity;\n      @include transition($carousel-indicator-transition);\n    }\n\n    .active {\n      opacity: $carousel-indicator-active-opacity;\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: (100% - $carousel-caption-width) * .5;\n    bottom: $carousel-caption-spacer;\n    left: (100% - $carousel-caption-width) * .5;\n    padding-top: $carousel-caption-padding-y;\n    padding-bottom: $carousel-caption-padding-y;\n    color: var(--#{$prefix}carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark};\n    --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color};\n    --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// scss-docs-start dialog-css-vars\n$dialog-padding:                1rem !default;\n$dialog-width:                  500px !default;\n$dialog-width-sm:               280px !default;\n$dialog-width-lg:               800px !default;\n$dialog-width-xl:               1140px !default;\n$dialog-margin:                 1.75rem !default;\n$dialog-color:                  var(--#{$prefix}fg-body) !default;\n$dialog-bg:                     var(--#{$prefix}bg-body) !default;\n$dialog-border-color:           var(--#{$prefix}border-color-translucent) !default;\n$dialog-border-width:           var(--#{$prefix}border-width) !default;\n$dialog-border-radius:          var(--#{$prefix}border-radius-lg) !default;\n$dialog-box-shadow:             var(--#{$prefix}box-shadow-lg) !default;\n$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;\n$dialog-header-padding:         1rem !default;\n$dialog-header-border-color:    var(--#{$prefix}border-color) !default;\n$dialog-header-border-width:    var(--#{$prefix}border-width) !default;\n$dialog-footer-padding:         1rem !default;\n$dialog-footer-border-color:    var(--#{$prefix}border-color) !default;\n$dialog-footer-border-width:    var(--#{$prefix}border-width) !default;\n$dialog-footer-gap:             .5rem !default;\n// scss-docs-end dialog-css-vars\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    --#{$prefix}dialog-padding: #{$dialog-padding};\n    --#{$prefix}dialog-width: #{$dialog-width};\n    --#{$prefix}dialog-margin: #{$dialog-margin};\n    --#{$prefix}dialog-color: #{$dialog-color};\n    --#{$prefix}dialog-bg: #{$dialog-bg};\n    --#{$prefix}dialog-border-color: #{$dialog-border-color};\n    --#{$prefix}dialog-border-width: #{$dialog-border-width};\n    --#{$prefix}dialog-border-radius: #{$dialog-border-radius};\n    --#{$prefix}dialog-box-shadow: #{$dialog-box-shadow};\n    --#{$prefix}dialog-backdrop-bg: #{$dialog-backdrop-bg};\n    --#{$prefix}dialog-header-padding: #{$dialog-header-padding};\n    --#{$prefix}dialog-header-border-color: #{$dialog-header-border-color};\n    --#{$prefix}dialog-header-border-width: #{$dialog-header-border-width};\n    --#{$prefix}dialog-footer-padding: #{$dialog-footer-padding};\n    --#{$prefix}dialog-footer-border-color: #{$dialog-footer-border-color};\n    --#{$prefix}dialog-footer-border-width: #{$dialog-footer-border-width};\n    --#{$prefix}dialog-footer-gap: #{$dialog-footer-gap};\n\n    // Reset native dialog styles\n    max-width: var(--#{$prefix}dialog-width);\n    max-height: calc(100% - var(--#{$prefix}dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--#{$prefix}dialog-color);\n    background-color: var(--#{$prefix}dialog-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);\n    @include border-radius(var(--#{$prefix}dialog-border-radius));\n    @include box-shadow(var(--#{$prefix}dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--#{$prefix}dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--#{$prefix}dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--#{$prefix}dialog-width);\n        margin-block-end: var(--#{$prefix}dialog-margin);\n        margin-inline: auto;\n        color: var(--#{$prefix}dialog-color);\n        background-color: var(--#{$prefix}dialog-bg);\n        background-clip: padding-box;\n        border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);\n        @include border-radius(var(--#{$prefix}dialog-border-radius));\n        @include box-shadow(var(--#{$prefix}dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--#{$prefix}dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  .dialog-sm { --#{$prefix}dialog-width: #{$dialog-width-sm}; }\n  .dialog-lg { --#{$prefix}dialog-width: #{$dialog-width-lg}; }\n  .dialog-xl { --#{$prefix}dialog-width: #{$dialog-width-xl}; }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --#{$prefix}dialog-width: 100vw;\n    --#{$prefix}dialog-margin: 0;\n    --#{$prefix}dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    $postfix: if($infix != \"\", #{$infix}-down, \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --#{$prefix}dialog-width: 100vw;\n          --#{$prefix}dialog-margin: 0;\n          --#{$prefix}dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--#{$prefix}dialog-header-padding);\n    border-block-end: var(--#{$prefix}dialog-header-border-width) solid var(--#{$prefix}dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--#{$prefix}font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--#{$prefix}dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--#{$prefix}dialog-footer-padding);\n    border-block-start: var(--#{$prefix}dialog-footer-border-width) solid var(--#{$prefix}dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-gap:                      $spacer * .125 !default;\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                .25rem !default;\n$dropdown-padding-y:                .25rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}fg-body) !default;\n$dropdown-bg:                       var(--#{$prefix}bg-body) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius-lg) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .125 !default;\n$dropdown-divider-margin-x:         $spacer * .25 !default;\n\n$dropdown-link-color:               var(--#{$prefix}fg-body) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}bg-1) !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      var(--#{$prefix}fg-3) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer * .75 !default;\n$dropdown-item-border-radius:       var(--#{$prefix}border-radius) !default;\n$dropdown-item-gap:                 $spacer * .5 !default;\n\n$dropdown-header-color:             var(--#{$prefix}gray-600) !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               var(--#{$prefix}gray-300) !default;\n$dropdown-dark-bg:                  var(--#{$prefix}gray-900) !default;\n$dropdown-dark-border-color:        $dropdown-border-color !default;\n$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow:          null !default;\n$dropdown-dark-link-color:          $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color:    $white !default;\n$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;\n$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: var(--#{$prefix}gray-500) !default;\n$dropdown-dark-header-color:        var(--#{$prefix}gray-500) !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropdown {\n    position: relative;\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n    --#{$prefix}dropdown-gap: #{$dropdown-gap};\n    --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n    --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n    --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n    --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n    --#{$prefix}dropdown-font-size: #{$dropdown-font-size};\n    --#{$prefix}dropdown-color: #{$dropdown-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n    --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n    --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n    --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n    --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --#{$prefix}dropdown-divider-margin-x: #{$dropdown-divider-margin-x};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --#{$prefix}dropdown-item-gap: #{$dropdown-item-gap};\n    --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --#{$prefix}dropdown-item-border-radius: #{$dropdown-item-border-radius};\n    --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n    --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--#{$prefix}dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--#{$prefix}dropdown-gap);\n    min-width: var(--#{$prefix}dropdown-min-width);\n    padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--#{$prefix}dropdown-font-size);\n    color: var(--#{$prefix}dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--#{$prefix}dropdown-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n    @include border-radius(var(--#{$prefix}dropdown-border-radius));\n    @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n    }\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--#{$prefix}dropdown-divider-margin-y) var(--#{$prefix}dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--#{$prefix}dropdown-divider-bg);\n    opacity: 1;\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: flex;\n    gap: var(--#{$prefix}dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--#{$prefix}dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--#{$prefix}dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}dropdown-link-hover-color);\n      @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--#{$prefix}dropdown-link-active-color);\n      @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      background-image: if($enable-gradients, none, null);\n    }\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--#{$prefix}dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  // Dropdown text\n  .dropdown-item-text {\n    display: block;\n    padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    color: var(--#{$prefix}fg-2);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}color-body) !default;\n$list-group-bg:                     var(--#{$prefix}bg-body) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n\n$list-group-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}color-body) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n@layer components {\n  .list-group {\n    // scss-docs-start list-group-css-vars\n    --#{$prefix}list-group-color: #{$list-group-color};\n    --#{$prefix}list-group-bg: #{$list-group-bg};\n    --#{$prefix}list-group-border-color: #{$list-group-border-color};\n    --#{$prefix}list-group-border-width: #{$list-group-border-width};\n    --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n    --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n    --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n    --#{$prefix}list-group-action-color: #{$list-group-action-color};\n    --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n    --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n    --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n    --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n    --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n    --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n    --#{$prefix}list-group-active-color: #{$list-group-active-color};\n    --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n    --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};\n    // scss-docs-end list-group-css-vars\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--#{$prefix}list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n    color: var(--#{$prefix}theme-text, var(--#{$prefix}list-group-color));\n    text-decoration: if($link-decoration == none, null, none);\n    background-color: var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}list-group-bg));\n    border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}theme-border, var(--#{$prefix}list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--#{$prefix}list-group-active-color);\n      background-color: var(--#{$prefix}list-group-active-bg);\n      border-color: var(--#{$prefix}list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--#{$prefix}list-group-border-width));\n        border-block-start-width: var(--#{$prefix}list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--#{$prefix}theme-text, var(--#{$prefix}list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--#{$prefix}theme-text-emphasis, var(--#{$prefix}list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--#{$prefix}theme-bg-muted, var(--#{$prefix}list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--#{$prefix}theme-text-emphasis, var(--#{$prefix}list-group-action-active-color));\n        background-color: var(--#{$prefix}theme-bg-muted, var(--#{$prefix}list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--#{$prefix}list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--#{$prefix}list-group-border-width));\n              border-inline-start-width: var(--#{$prefix}list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--#{$prefix}list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--#{$prefix}fg-2) !default;\n$nav-link-hover-color:              var(--#{$prefix}fg-1) !default;\n$nav-link-hover-bg:                 var(--#{$prefix}bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--#{$prefix}fg-4) !default;\n$nav-link-active-color:             var(--#{$prefix}fg-body) !default;\n$nav-link-active-bg:                var(--#{$prefix}bg-2) !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}border-subtle) !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}bg-body) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --#{$prefix}nav-gap: #{$nav-gap};\n    --#{$prefix}nav-link-gap: #{$nav-link-gap};\n    --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n    --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    --#{$prefix}nav-link-color: #{$nav-link-color};\n    --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n    --#{$prefix}nav-link-hover-bg: #{$nav-link-hover-bg};\n    --#{$prefix}nav-link-active-color: #{$nav-link-active-color};\n    --#{$prefix}nav-link-active-bg: #{$nav-link-active-bg};\n    --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--#{$prefix}nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--#{$prefix}nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n    font-weight: var(--#{$prefix}nav-link-font-weight);\n    color: var(--#{$prefix}nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--#{$prefix}border-radius));\n    // @include font-size(var(--#{$prefix}nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}nav-link-hover-color);\n      background-color: var(--#{$prefix}nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}nav-link-hover-color);\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &:active {\n      color: var(--#{$prefix}nav-link-active-color);\n      background-color: var(--#{$prefix}nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n    --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n    --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width));\n      border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--#{$prefix}nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--#{$prefix}nav-tabs-link-active-color);\n      background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n      border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n      border-bottom-color: var(--#{$prefix}nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--#{$prefix}nav-pills-link-active-color);\n      @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --#{$prefix}nav-gap: #{$nav-underline-gap};\n    --#{$prefix}nav-link-active-bg: transparent;\n    // --#{$prefix}nav-underline-gap: #{$nav-underline-gap};\n    --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};\n    --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--#{$prefix}nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--#{$prefix}nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--#{$prefix}fg-2) !default;\n$navbar-light-hover-color:          var(--#{$prefix}fg-1) !default;\n$navbar-light-active-color:         var(--#{$prefix}fg) !default;\n$navbar-light-disabled-color:       var(--#{$prefix}fg-3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n    --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n    --#{$prefix}navbar-color: #{$navbar-light-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n    --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n    --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n    --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--#{$prefix}navbar-brand-padding-y);\n    padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n    margin-inline-end: var(--#{$prefix}navbar-brand-margin-end);\n    font-size: var(--#{$prefix}navbar-brand-font-size);\n    color: var(--#{$prefix}navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --#{$prefix}nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n    // --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n    --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n    --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n    --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--#{$prefix}navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--#{$prefix}navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--#{$prefix}navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n    font-size: var(--#{$prefix}navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--#{$prefix}navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n    @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus {\n      text-decoration: none;\n      outline: 0;\n      box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--#{$prefix}navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--#{$prefix}scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --#{$prefix}nav-link-padding-x: var(--#{$prefix}navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--#{$prefix}navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-light {\n    @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n  }\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --#{$prefix}navbar-color: #{$navbar-dark-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n    --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n  --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n  --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n  --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n  --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n  --#{$prefix}offcanvas-color: #{$offcanvas-color};\n  --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--#{$prefix}offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--#{$prefix}offcanvas-color);\n        visibility: hidden;\n        background-color: var(--#{$prefix}offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n        @include transition(var(--#{$prefix}offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-inline-end: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-inline-start: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --#{$prefix}offcanvas-height: auto;\n          --#{$prefix}offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--#{$prefix}offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start pagination-variables\n$pagination-padding-y:              .375rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n\n$pagination-font-size:              $font-size-base !default;\n\n$pagination-color:                  var(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}bg-body) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color:           $component-active-color !default;\n$pagination-active-bg:              $component-active-bg !default;\n$pagination-active-border-color:    $component-active-bg !default;\n\n$pagination-disabled-color:         var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}border-color) !default;\n\n$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm:       var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --#{$prefix}pagination-padding-x: #{$padding-x};\n  --#{$prefix}pagination-padding-y: #{$padding-y};\n  --#{$prefix}pagination-font-size: #{$font-size};\n  --#{$prefix}pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    // scss-docs-start pagination-css-vars\n    --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n    --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n    --#{$prefix}pagination-font-size: #{$pagination-font-size};\n    --#{$prefix}pagination-color: #{$pagination-color};\n    --#{$prefix}pagination-bg: #{$pagination-bg};\n    --#{$prefix}pagination-border-width: #{$pagination-border-width};\n    --#{$prefix}pagination-border-color: #{$pagination-border-color};\n    --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n    --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n    --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n    --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n    --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n    --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n    --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n    --#{$prefix}pagination-active-color: #{$pagination-active-color};\n    --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n    --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n    --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n    --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n    --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};\n    // scss-docs-end pagination-css-vars\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n    font-size: var(--#{$prefix}pagination-font-size);\n    color: var(--#{$prefix}pagination-color);\n    text-decoration: none;\n    background-color: var(--#{$prefix}pagination-bg);\n    border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--#{$prefix}pagination-hover-color);\n      background-color: var(--#{$prefix}pagination-hover-bg);\n      border-color: var(--#{$prefix}pagination-hover-border-color);\n    }\n\n    &:focus {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-focus-color);\n      background-color: var(--#{$prefix}pagination-focus-bg);\n      outline: $pagination-focus-outline;\n      box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-active-color);\n      @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n      border-color: var(--#{$prefix}pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--#{$prefix}pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}pagination-disabled-bg);\n      border-color: var(--#{$prefix}pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: $pagination-margin-start;\n    }\n\n    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {\n      &:first-child {\n        .page-link {\n          @include border-start-radius(var(--#{$prefix}pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--#{$prefix}pagination-border-radius));\n        }\n      }\n    } @else {\n      // Add border-radius to all pageLinks in case they have left margin\n      .page-link {\n        @include border-radius(var(--#{$prefix}pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n  }\n\n  .pagination-sm {\n    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholders\n$placeholder-opacity-max:           .5 !default;\n$placeholder-opacity-min:           .2 !default;\n// scss-docs-end placeholders\n\n\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: $placeholder-opacity-max;\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: $placeholder-opacity-min;\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 var(--#{$prefix}font-size-sm) !default;\n$popover-bg:                        var(--#{$prefix}bg-body) !default;\n$popover-max-width:                 280px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}bg-1) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          $spacer * .75 !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}color-body) !default;\n$popover-body-padding-y:            $spacer * .75 !default;\n$popover-body-padding-x:            $spacer !default;\n\n$popover-arrow-width:               1rem !default;\n$popover-arrow-height:              .5rem !default;\n// scss-docs-end popover-variables\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    --#{$prefix}popover-zindex: #{$zindex-popover};\n    --#{$prefix}popover-max-width: #{$popover-max-width};\n    --#{$prefix}popover-font-size: #{$popover-font-size};\n    --#{$prefix}popover-bg: #{$popover-bg};\n    --#{$prefix}popover-border-width: #{$popover-border-width};\n    --#{$prefix}popover-border-color: #{$popover-border-color};\n    --#{$prefix}popover-border-radius: #{$popover-border-radius};\n    --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n    --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n    --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n    --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n    --#{$prefix}popover-header-font-size: #{$popover-header-font-size};\n    --#{$prefix}popover-header-color: #{$popover-header-color};\n    --#{$prefix}popover-header-bg: #{$popover-header-bg};\n    --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n    --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n    --#{$prefix}popover-body-color: #{$popover-body-color};\n    --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n    --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n    --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--#{$prefix}popover-zindex);\n    display: block;\n    max-width: var(--#{$prefix}popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--#{$prefix}popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--#{$prefix}popover-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-radius(var(--#{$prefix}popover-border-radius));\n    @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--#{$prefix}popover-arrow-width);\n      height: var(--#{$prefix}popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--#{$prefix}popover-border-width);\n        border-block-start-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--#{$prefix}popover-border-width);\n        border-inline-end-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--#{$prefix}popover-border-width);\n        border-block-end-color: var(--#{$prefix}popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--#{$prefix}popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--#{$prefix}popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--#{$prefix}popover-border-width);\n        border-inline-start-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--#{$prefix}popover-header-font-size);\n    color: var(--#{$prefix}popover-header-color);\n    background-color: var(--#{$prefix}popover-header-bg);\n    border-block-end: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n    color: var(--#{$prefix}popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-variables\n$progress-height:                   1rem !default;\n$progress-font-size:                $font-size-base * .75 !default;\n$progress-bg:                       var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   var(--#{$prefix}primary-bg) !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--#{$prefix}progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --#{$prefix}progress-height: #{$progress-height};\n    --#{$prefix}progress-font-size: #{$progress-font-size};\n    --#{$prefix}progress-bg: #{$progress-bg};\n    --#{$prefix}progress-border-radius: #{$progress-border-radius};\n    --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n    --#{$prefix}progress-bar-color: #{$progress-bar-color};\n    --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n    --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--#{$prefix}progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    font-size: var(--#{$prefix}progress-font-size);\n    background-color: var(--#{$prefix}progress-bg);\n    @include border-radius(var(--#{$prefix}progress-border-radius));\n    @include box-shadow(var(--#{$prefix}progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--#{$prefix}progress-bar-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--#{$prefix}progress-bar-bg);\n    @include transition(var(--#{$prefix}progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: $progress-bar-animation-timing progress-bar-stripes;\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start spinner-variables\n$spinner-width:           2rem !default;\n$spinner-height:          $spinner-width !default;\n$spinner-vertical-align:  -.125em !default;\n$spinner-border-width:    .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm:        1rem !default;\n$spinner-height-sm:       $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n//\n// Rotating border\n//\n\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--#{$prefix}spinner-width);\n    height: var(--#{$prefix}spinner-height);\n    vertical-align: var(--#{$prefix}spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-border-width: #{$spinner-border-width};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}spinner-height: #{$spinner-height-sm};\n    --#{$prefix}spinner-border-width: #{$spinner-border-width-sm};\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    // scss-docs-start spinner-grow-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}spinner-animation-name: spinner-grow;\n    // scss-docs-end spinner-grow-css-vars\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}spinner-height: #{$spinner-height-sm};\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-variables\n$toast-max-width:                   350px !default;\n$toast-padding-x:                   .75rem !default;\n$toast-padding-y:                   .5rem !default;\n$toast-font-size:                   .875rem !default;\n$toast-color:                       null !default;\n$toast-background-color:            rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n@layer components {\n  .toast {\n    // scss-docs-start toast-css-vars\n    --#{$prefix}toast-zindex: #{$zindex-toast};\n    --#{$prefix}toast-padding-x: #{$toast-padding-x};\n    --#{$prefix}toast-padding-y: #{$toast-padding-y};\n    --#{$prefix}toast-spacing: #{$toast-spacing};\n    --#{$prefix}toast-max-width: #{$toast-max-width};\n    --#{$prefix}toast-font-size: #{$toast-font-size};\n    --#{$prefix}toast-color: #{$toast-color};\n    --#{$prefix}toast-bg: #{$toast-background-color};\n    --#{$prefix}toast-border-width: #{$toast-border-width};\n    --#{$prefix}toast-border-color: #{$toast-border-color};\n    --#{$prefix}toast-border-radius: #{$toast-border-radius};\n    --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n    --#{$prefix}toast-header-color: #{$toast-header-color};\n    --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n    --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--#{$prefix}toast-max-width);\n    max-width: 100%;\n    font-size: var(--#{$prefix}toast-font-size);\n    color: var(--#{$prefix}toast-color);\n    pointer-events: auto;\n    background-color: var(--#{$prefix}toast-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n    box-shadow: var(--#{$prefix}toast-box-shadow);\n    @include border-radius(var(--#{$prefix}toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --#{$prefix}toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--#{$prefix}toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--#{$prefix}toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n    color: var(--#{$prefix}toast-header-color);\n    background-color: var(--#{$prefix}toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n    @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--#{$prefix}toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--#{$prefix}toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--#{$prefix}toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $new-theme-colors {\n    .text-bg-#{$color} {\n      color: var(--#{$prefix}#{$color}-text);\n      --#{$prefix}bg: var(--#{$prefix}#{$color}-bg-subtle);\n      // color: color-contrast($value);\n      // background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1));\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n\n@layer helpers {\n  @each $color, $value in $new-theme-colors {\n    .link-#{$color} {\n      --#{$prefix}link-color: var(--#{$prefix}#{$color}-text);\n      // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          --#{$prefix}link-color: var(--#{$prefix}#{$color}-text-emphasis);\n          --#{$prefix}link-hover-color: var(--#{$prefix}#{$color}-text-emphasis);\n          // $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          // color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/_config.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/forms/_form-variables.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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qB7nEM;MACE,wBAAA;IrB+nER;IqBhoEM;MACE,yBAAA;IrBkoER;IqBnoEM;MACE,yBAAA;IrBqoER;IqBtoEM;MACE,yBAAA;IrBwoER;IqBjoEM;MACE,oBAFS;IrBqoEjB;IqBpoEM;MACE,oBAFS;IrBwoEjB;IqBvoEM;MACE,oBAFS;IrB2oEjB;IqB1oEM;MACE,oBAFS;IrB8oEjB;IqB7oEM;MACE,oBAFS;IrBipEjB;IqBhpEM;MACE,oBAFS;IrBopEjB;IqBnpEM;MACE,oBAFS;IrBupEjB;IqBtpEM;MACE,oBAFS;IrB0pEjB;IqBzpEM;MACE,oBAFS;IrB6pEjB;IqB5pEM;MACE,qBAFS;IrBgqEjB;IqB/pEM;MACE,qBAFS;IrBmqEjB;EACF;Ea/uEE;IQoEM;MACE,wBAAA;IrB8qER;IqB/qEM;MACE,wBAAA;IrBirER;IqBlrEM;MACE,wBAAA;IrBorER;IqBrrEM;MACE,wBAAA;IrBurER;IqBxrEM;MACE,wBAAA;IrB0rER;IqB3rEM;MACE,wBAAA;IrB6rER;IqB9rEM;MACE,wBAAA;IrBgsER;IqBjsEM;MACE,wBAAA;IrBmsER;IqBpsEM;MACE,wBAAA;IrBssER;IqBvsEM;MACE,yBAAA;IrBysER;IqB1sEM;MACE,yBAAA;IrB4sER;IqB7sEM;MACE,yBAAA;IrB+sER;IqBxsEM;MACE,oBAFS;IrB4sEjB;IqB3sEM;MACE,oBAFS;IrB+sEjB;IqB9sEM;MACE,oBAFS;IrBktEjB;IqBjtEM;MACE,oBAFS;IrBqtEjB;IqBptEM;MACE,oBAFS;IrBwtEjB;IqBvtEM;MACE,oBAFS;IrB2tEjB;IqB1tEM;MACE,oBAFS;IrB8tEjB;IqB7tEM;MACE,oBAFS;IrBiuEjB;IqBhuEM;MACE,oBAFS;IrBouEjB;IqBnuEM;MACE,qBAFS;IrBuuEjB;IqBtuEM;MACE,qBAFS;IrB0uEjB;EACF;EatzEE;IQoEM;MACE,wBAAA;IrBqvER;IqBtvEM;MACE,wBAAA;IrBwvER;IqBzvEM;MACE,wBAAA;IrB2vER;IqB5vEM;MACE,wBAAA;IrB8vER;IqB/vEM;MACE,wBAAA;IrBiwER;IqBlwEM;MACE,wBAAA;IrBowER;IqBrwEM;MACE,wBAAA;IrBuwER;IqBxwEM;MACE,wBAAA;IrB0wER;IqB3wEM;MACE,wBAAA;IrB6wER;IqB9wEM;MACE,yBAAA;IrBgxER;IqBjxEM;MACE,yBAAA;IrBmxER;IqBpxEM;MACE,yBAAA;IrBsxER;IqB/wEM;MACE,oBAFS;IrBmxEjB;IqBlxEM;MACE,oBAFS;IrBsxEjB;IqBrxEM;MACE,oBAFS;IrByxEjB;IqBxxEM;MACE,oBAFS;IrB4xEjB;IqB3xEM;MACE,oBAFS;IrB+xEjB;IqB9xEM;MACE,oBAFS;IrBkyEjB;IqBjyEM;MACE,oBAFS;IrBqyEjB;IqBpyEM;MACE,oBAFS;IrBwyEjB;IqBvyEM;MACE,oBAFS;IrB2yEjB;IqB1yEM;MACE,qBAFS;IrB8yEjB;IqB7yEM;MACE,qBAFS;IrBizEjB;EACF;Ea73EE;IQoEM;MACE,wBAAA;IrB4zER;IqB7zEM;MACE,wBAAA;IrB+zER;IqBh0EM;MACE,wBAAA;IrBk0ER;IqBn0EM;MACE,wBAAA;IrBq0ER;IqBt0EM;MACE,wBAAA;IrBw0ER;IqBz0EM;MACE,wBAAA;IrB20ER;IqB50EM;MACE,wBAAA;IrB80ER;IqB/0EM;MACE,wBAAA;IrBi1ER;IqBl1EM;MACE,wBAAA;IrBo1ER;IqBr1EM;MACE,yBAAA;IrBu1ER;IqBx1EM;MACE,yBAAA;IrB01ER;IqB31EM;MACE,yBAAA;IrB61ER;IqBt1EM;MACE,oBAFS;IrB01EjB;IqBz1EM;MACE,oBAFS;IrB61EjB;IqB51EM;MACE,oBAFS;IrBg2EjB;IqB/1EM;MACE,oBAFS;IrBm2EjB;IqBl2EM;MACE,oBAFS;IrBs2EjB;IqBr2EM;MACE,oBAFS;IrBy2EjB;IqBx2EM;MACE,oBAFS;IrB42EjB;IqB32EM;MACE,oBAFS;IrB+2EjB;IqB92EM;MACE,oBAFS;IrBk3EjB;IqBj3EM;MACE,qBAFS;IrBq3EjB;IqBp3EM;MACE,qBAFS;IrBw3EjB;EACF;Eap8EE;IQoEM;MACE,wBAAA;IrBm4ER;IqBp4EM;MACE,wBAAA;IrB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qBO;E3EuzOb;E2EluOE;IA1GI,gBAqBO;E3E0zOb;E2EruOE;IA1GI,iBAqBO;E3E6zOb;E2ExuOE;IA1GI,gBAqBO;E3Eg0Ob;E2E3uOE;IA1GI,gBAqBO;E3Em0Ob;E2E9uOE;IA1GI,kBAqBO;E3Es0Ob;E2EjvOE;IA1GI,mBAqBO;E3Ey0Ob;E2EpvOE;IA1GI,kBAqBO;E3E40Ob;E2EvvOE;IA1GI,gBAqBO;E3E+0Ob;E2E1vOE;IA1GI,kBAqBO;E3Ek1Ob;E2E7vOE;IA1GI,mBAqBO;E3Eq1Ob;E2EhwOE;IA1GI,kBAqBO;E3Ew1Ob;E2EnwOE;IA1GI,eAqBO;E3E21Ob;E2EtwOE;IA1GI,qBAqBO;E3E81Ob;E2EzwOE;IA1GI,cAqBO;E3Ei2Ob;E2E5wOE;IA1GI,aAqBO;E3Eo2Ob;E2E/wOE;IA1GI,oBAqBO;E3Eu2Ob;E2ElxOE;IA1GI,cAqBO;E3E02Ob;E2ErxOE;IA1GI,kBAqBO;E3E62Ob;E2ExxOE;IA1GI,mBAqBO;E3Eg3Ob;E2E3xOE;IA1GI,aAqBO;E3Em3Ob;E2E9xOE;IA1GI,oBAqBO;E3Es3Ob;E2EjyOE;IA1GI,iBAqBO;E3Ey3Ob;E2EpyOE;IA1GI,kBAqBO;E3E43Ob;E2EvyOE;IA1GI,aAqBO;E3E+3Ob;E2E1yOE;IA1GI,gCAgBG;E3Eu4OT;E2E7yOE;IA1GI,mCAgBG;E3E04OT;E2EhzOE;IA1GI,mCAgBG;E3E64OT;E2EnzOE;IA1GI,gBAgBG;E3Eg5OT;E2EtzOE;IA1GI,qHAgBG;E3Em5OT;E2EzzOE;IA1GI,yHAgBG;E3Es5OT;E2E5zOE;IA1GI,uHAgBG;E3Ey5OT;E2E/zOE;IA1GI,mHAgBG;E3E45OT;E2El0OE;IA1GI,yHAgBG;E3E+5OT;E2Er0OE;IA1GI,qHAgBG;E3Ek6OT;E2Ex0OE;IA1GI,qHAgBG;E3Eq6OT;E2E30OE;IA1GI,qHAgBG;E3Ew6OT;E2E90OE;IA1GI,gBAqBO;E3Es6Ob;E2Ej1OE;IA1GI,kBAqBO;E3Ey6Ob;E2Ep1OE;IA1GI,kBAqBO;E3E46Ob;E2Ev1OE;IA1GI,eAqBO;E3E+6Ob;E2E11OE;IA1GI,gBAqBO;E3Ek7Ob;E2E71O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EkyPb;E2E7sPE;IA1GI,iBAqBO;E3EqyPb;E2EhtPE;IA1GI,uBAqBO;E3EwyPb;E2EntPE;IA1GI,2BAgBG;E3EgzPT;E2EttPE;IA1GI,yBAgBG;E3EmzPT;E2EztPE;IA1GI,uBAgBG;E3EszPT;E2E5tPE;IA1GI,8BAgBG;E3EyzPT;E2E/tPE;IA1GI,6BAgBG;E3E4zPT;E2EluPE;IA1GI,6BAgBG;E3E+zPT;E2EruPE;IA1GI,oBAgBG;E3Ek0PT;E2ExuPE;IA1GI,kBAgBG;E3Eq0PT;E2E3uPE;IA1GI,qBAgBG;E3Ew0PT;E2E9uPE;IA1GI,sBAgBG;E3E20PT;E2EjvPE;IA1GI,wBAgBG;E3E80PT;E2EpvPE;IA1GI,sBAgBG;E3Ei1PT;E2EvvPE;IA1GI,oBAgBG;E3Eo1PT;E2E1vPE;IA1GI,uBAgBG;E3Eu1PT;E2E7vPE;IA1GI,qBAgBG;E3E01PT;E2EhwPE;IA1GI,mBAgBG;E3E61PT;E2EnwPE;IA1GI,qBAgBG;E3Eg2PT;E2EtwPE;IA1GI,oBAgBG;E3Em2PT;E2EzwPE;IA1GI,yBAgBG;E3Es2PT;E2E5wPE;IA1GI,uBAgBG;E3Ey2PT;E2E/wPE;IA1GI,qBAgBG;E3E42PT;E2ElxPE;IA1GI,4BAgBG;E3E+2PT;E2ErxPE;IA1GI,2BAgBG;E3Ek3PT;E2ExxPE;IA1GI,sBAgBG;E3Eq3PT;E2E3xPE;IA1GI,gBAgBG;E3Ew3PT;E2E9xPE;IA1GI,sBAgBG;E3E23PT;E2EjyPE;IA1GI,oBAgBG;E3E83PT;E2EpyPE;IA1GI,kBAgBG;E3Ei4PT;E2EvyPE;IA1GI,oBAgBG;E3Eo4PT;E2E1yPE;IA1GI,mBAgBG;E3Eu4PT;E2E7yPE;IA1GI,kBAgBG;E3E04PT;E2EhzPE;IA1GI,gBAgBG;E3E64PT;E2EnzPE;IA1GI,mBAgBG;E3Eg5PT;E2EtzPE;IA1GI,oBAgBG;E3Em5PT;E2EzzPE;IA1GI,eAqBO;E3Ei5Pb;E2E5zPE;IA1GI,eAqBO;E3Eo5Pb;E2E/zPE;IA1GI,eAqBO;E3Eu5Pb;E2El0PE;IA1GI,mBAgBG;E3E+5PT;E2Er0PE;IA1GI,mBAqBO;E3E65Pb;E2Ex0PE;IA1GI,sBAqBO;E3Eg6Pb;E2E30PE;IA1GI,qBAqBO;E3Em6Pb;E2E90PE;IA1GI,SAgBG;E3E26PT;E2Ej1PE;IA1GI,QAgBG;E3E86PT;E2Ep1PE;IA1GI,QAgBG;E3Ei7PT;E2Ev1PE;IA1GI,QAgBG;E3Eo7PT;E2E11PE;IA1GI,QAgBG;E3Eu7PT;E2E71PE;IA1GI,QAgBG;E3E07PT;E2Eh2PE;IA1GI,QAgBG;E3E67PT;E2En2PE;IA1GI,QAgBG;E3Eg8PT;E2Et2PE;IA1GI,SAgBG;E3Em8PT;E2Ez2PE;IA1GI,eAgBG;E3Es8PT;E2E52PE;IA1GI,cAgBG;E3Ey8PT;E2E/2PE;IA1GI,YAgBG;E3E48PT;E2El3PE;IA1GI,cAgBG;E3E+8PT;E2Er3PE;IA1GI,YAgBG;E3Ek9PT;E2Ex3PE;IA1GI,YAgBG;E3Eq9PT;E2E33PE;IA1GI,gBAgBG;E3Ew9PT;E2E93PE;IA1GI,sBAgBG;E3E29PT;E2Ej4PE;IA1GI,qBAgBG;E3E89PT;E2Ep4PE;IA1GI,mBAgBG;E3Ei+PT;E2Ev4PE;IA1GI,qBAgBG;E3Eo+PT;E2E14PE;IA1GI,mBAgBG;E3Eu+PT;E2E74PE;IA1GI,mBAgBG;E3E0+PT;E2Eh5PE;IA1GI,eAgBG;E3E6+PT;E2En5PE;IA1GI,qBAgBG;E3Eg/PT;E2Et5PE;IA1GI,oBAgBG;E3Em/PT;E2Ez5PE;IA1GI,kBAgBG;E3Es/PT;E2E55PE;IA1GI,oBAgBG;E3Ey/PT;E2E/5PE;IA1GI,kBAgBG;E3E4/PT;E2El6PE;IA1GI,kBAgBG;E3E+/PT;E2Er6PE;IA1GI,qBAgBG;E3EkgQT;E2Ex6PE;IA1GI,2BAgBG;E3EqgQT;E2E36PE;IA1GI,0BAgBG;E3EwgQT;E2E96PE;IA1GI,wBAgBG;E3E2gQT;E2Ej7PE;IA1GI,0BAgBG;E3E8gQT;E2Ep7PE;IA1GI,wBAgBG;E3EihQT;E2Ev7PE;IA1GI,wBAgBG;E3EohQT;E2E17PE;IA1GI,oBAgBG;E3EuhQT;E2E77PE;IA1GI,0BAgBG;E3E0hQT;E2Eh8PE;IA1GI,yBAgBG;E3E6hQT;E2En8PE;IA1GI,uBAgBG;E3EgiQT;E2Et8PE;IA1GI,yBAgBG;E3EmiQT;E2Ez8PE;IA1GI,uBAgBG;E3EsiQT;E2E58PE;IA1GI,uBAgBG;E3EyiQT;E2E/8PE;IA1GI,mBAgBG;E3E4iQT;E2El9PE;IA1GI,yBAgBG;E3E+iQT;E2Er9PE;IA1GI,wBAgBG;E3EkjQT;E2Ex9PE;IA1GI,sBAgBG;E3EqjQT;E2E39PE;IA1GI,wBAgBG;E3EwjQT;E2E99PE;IA1GI,sBAgBG;E3E2jQT;E2Ej+PE;IA1GI,sBAgBG;E3E8jQT;E2Ep+PE;IA1GI,sBAgBG;E3EikQT;E2Ev+PE;IA1GI,4BAgBG;E3EokQT;E2E1+PE;IA1GI,2BAgBG;E3EukQT;E2E7+PE;IA1GI,yBAgBG;E3E0kQT;E2Eh/PE;IA1GI,2BAgBG;E3E6kQT;E2En/PE;IA1GI,yBAgBG;E3EglQT;E2Et/PE;IA1GI,yBAgBG;E3EmlQT;E2Ez/PE;IA1GI,UAgBG;E3EslQT;E2E5/PE;IA1GI,gBAgBG;E3EylQT;E2E//PE;IA1GI,eAgBG;E3E4lQT;E2ElgQE;IA1GI,aAgBG;E3E+lQT;E2ErgQE;IA1GI,eAgBG;E3EkmQT;E2ExgQE;IA1GI,aAgBG;E3EqmQT;E2E3gQE;IA1GI,iBAgBG;E3EwmQT;E2E9gQE;IA1GI,uBAgBG;E3E2mQT;E2EjhQE;IA1GI,sBAgBG;E3E8mQT;E2EphQE;IA1GI,oBAgBG;E3EinQT;E2EvhQE;IA1GI,sBAgBG;E3EonQT;E2E1hQE;IA1GI,oBAgBG;E3EunQT;E2E7hQE;IA1GI,gBAgBG;E3E0nQT;E2EhiQE;IA1GI,sBAgBG;E3E6nQT;E2EniQE;IA1GI,qBAgBG;E3EgoQT;E2EtiQE;IA1GI,mBAgBG;E3EmoQT;E2EziQE;IA1GI,qBAgBG;E3EsoQT;E2E5iQE;IA1GI,mBAgBG;E3EyoQT;E2E/iQE;IA1GI,sBAgBG;E3E4oQT;E2EljQE;IA1GI,4BAgBG;E3E+oQT;E2ErjQE;IA1GI,2BAgBG;E3EkpQT;E2ExjQE;IA1GI,yBAgBG;E3EqpQT;E2E3jQE;IA1GI,2BAgBG;E3EwpQT;E2E9jQE;IA1GI,yBAgBG;E3E2pQT;E2EjkQE;IA1GI,qBAgBG;E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BAgBG;E3E4nRT;E2E3gRM;IAjIA,2BAgBG;E3E+nRT;E2EriRE;IA1GI,8BAgBG;E3EkoRT;E2EjhRM;IAjIA,8BAgBG;E3EqoRT;E2E3iRE;IA1GI,6BAgBG;E3EwoRT;E2EvhRM;IAjIA,6BAgBG;E3E2oRT;E2EjjRE;IA1GI,8BAgBG;E3E8oRT;E2E7hRM;IAjIA,8BAgBG;E3EipRT;E2EvjRE;IA1GI,yEAgBG;E3EopRT;E2E1jRE;IA1GI,wHAgBG;E3EupRT;E2E7jRE;IA1GI,2EAgBG;E3E0pRT;E2EhkRE;IA1GI,uEAgBG;E3E6pRT;E2EnkRE;IA1GI,6EAgBG;E3EgqRT;E2EtkRE;IA1GI,yEAgBG;E3EmqRT;E2EzkRE;IA1GI,yEAgBG;E3EsqRT;E2E5kRE;IA1GI,yEAgBG;E3EyqRT;E2E/kRE;IA1GI,iFAgBG;E3E4qRT;E2E3jRM;IAjIA,iFAgBG;E3E+qRT;E2ErlRE;IA1GI,iFAgBG;E3EkrRT;E2EjkRM;IAjIA,iFAgBG;E3EqrRT;E2E3lRE;IA1GI,iFAgBG;E3EwrRT;E2EvkRM;IAjIA,iFAgBG;E3E2rRT;E2EjmRE;IA1GI,iFAgBG;E3E8rRT;E2E7kRM;IAjIA,iFAgBG;E3EisRT;E2EvmRE;IA1GI,iFAgBG;E3EosRT;E2EnlRM;IAjIA,iFAgBG;E3EusRT;E2E7mRE;IA1GI,iFAgBG;E3E0sRT;E2EzlRM;IAjIA,iFAgBG;E3E6sRT;E2EnnRE;IA1GI,iFAgBG;E3EgtRT;E2E/lRM;IAjIA,iFAgBG;E3EmtRT;E2EznRE;IA1GI,iFAgBG;E3EstRT;E2ErmRM;IAjIA,iFAgBG;E3EytRT;E2E/nRE;IA1GI,iFAgBG;E3E4tRT;E2E3mRM;IAjIA,iFAgBG;E3E+tRT;E2EroRE;IA1GI,2CAgBG;E3EkuRT;E2EjnRM;IAjIA,2CAgBG;E3EquRT;E2E3oRE;IA1GI,8BAgBG;E3EwuRT;E2EvnRM;IAjIA,8BAgBG;E3E2uRT;E2EjpRE;IA1GI,8BAgBG;E3E8uRT;E2E7nRM;IAjIA,8BAgBG;E3EivRT;E2EvpRE;IA1GI,8BAgBG;E3EovRT;E2EnoRM;IAjIA,8BAgBG;E3Euv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3EisSX;I2E5mSA;MA1GI,cAgBG;I3EysSP;I2E/mSA;MA1GI,mBAqBO;I3EusSX;I2ElnSA;MA1GI,sBAqBO;I3E0sSX;I2ErnSA;MA1GI,2BAqBO;I3E6sSX;I2ExnSA;MA1GI,8BAqBO;I3EgtSX;I2E3nSA;MA1GI,YAgBG;I3EwtSP;I2E9nSA;MA1GI,YAgBG;I3E2tSP;I2EjoSA;MA1GI,cAgBG;I3E8tSP;I2EpoSA;MA1GI,cAgBG;I3EiuSP;I2EvoSA;MA1GI,eAqBO;I3E+tSX;I2E1oSA;MA1GI,iBAqBO;I3EkuSX;I2E7oSA;MA1GI,uBAqBO;I3EquSX;I2EhpSA;MA1GI,2BAgBG;I3E6uSP;I2EnpSA;MA1GI,yBAgBG;I3EgvSP;I2EtpSA;MA1GI,uBAgBG;I3EmvSP;I2EzpSA;MA1GI,8BAgBG;I3EsvSP;I2E5pSA;MA1GI,6BAgBG;I3EyvSP;I2E/pSA;MA1GI,6BAgBG;I3E4vSP;I2ElqSA;MA1GI,oBAgBG;I3E+vSP;I2ErqSA;MA1GI,kBAgBG;I3EkwSP;I2ExqSA;MA1GI,qBAgBG;I3EqwSP;I2E3qSA;MA1GI,sBAgBG;I3EwwSP;I2E9qSA;MA1GI,wBAgBG;I3E2wSP;I2EjrSA;MA1GI,sBAgBG;I3E8wSP;I2EprSA;MA1GI,oBAgBG;I3EixSP;I2EvrSA;MA1GI,uBAgBG;I3EoxSP;I2E1rSA;MA1GI,qBAgBG;I3EuxSP;I2E7rSA;MA1GI,mBAgBG;I3E0xSP;I2EhsSA;MA1GI,qBAgBG;I3E6xSP;I2EnsSA;MA1GI,oBAgBG;I3EgySP;I2EtsSA;MA1GI,yBAgBG;I3EmySP;I2EzsSA;MA1GI,uBAgBG;I3EsySP;I2E5sSA;MA1GI,qBAgBG;I3EyySP;I2E/sSA;MA1GI,4BAgBG;I3E4ySP;I2EltSA;MA1GI,2BAgBG;I3E+ySP;I2ErtSA;MA1GI,sBAgBG;I3EkzSP;I2ExtSA;MA1GI,gBAgBG;I3EqzSP;I2E3tSA;MA1GI,sBAgBG;I3EwzSP;I2E9tSA;MA1GI,oBAgBG;I3E2zSP;I2EjuSA;MA1GI,kBAgBG;I3E8zSP;I2EpuSA;MA1GI,oBAgBG;I3Ei0SP;I2EvuSA;MA1GI,mBAgBG;I3Eo0SP;I2E1uSA;MA1GI,kBAgBG;I3Eu0SP;I2E7uSA;MA1GI,gBAgBG;I3E00SP;I2EhvSA;MA1GI,mBAgBG;I3E60SP;I2EnvSA;MA1GI,oBAgBG;I3Eg1SP;I2EtvSA;MA1GI,eAqBO;I3E80SX;I2EzvSA;MA1GI,eAqBO;I3Ei1SX;I2E5vSA;MA1GI,eAqBO;I3Eo1SX;I2E/vSA;MA1GI,mBAgBG;I3E41SP;I2ElwSA;MA1GI,mBAqBO;I3E01SX;I2ErwSA;MA1GI,sBAqBO;I3E61SX;I2ExwSA;MA1GI,qBAqBO;I3Eg2SX;I2E3wSA;MA1GI,SAgBG;I3Ew2SP;I2E9wSA;MA1GI,QAgBG;I3E22SP;I2EjxSA;MA1GI,QAgBG;I3E82SP;I2EpxSA;MA1GI,QAgBG;I3Ei3SP;I2EvxSA;MA1GI,QAgBG;I3Eo3SP;I2E1xSA;MA1GI,QAgBG;I3Eu3SP;I2E7xSA;MA1GI,QAgBG;I3E03SP;I2EhySA;MA1GI,QAgBG;I3E63SP;I2EnySA;MA1GI,SAgBG;I3Eg4SP;I2EtySA;MA1GI,eAgBG;I3Em4SP;I2EzySA;MA1GI,cAgBG;I3Es4SP;I2E5ySA;MA1GI,YAgBG;I3Ey4SP;I2E/ySA;MA1GI,cAgBG;I3E44SP;I2ElzSA;MA1GI,YAgBG;I3E+4SP;I2ErzSA;MA1GI,YAgBG;I3Ek5SP;I2ExzSA;MA1GI,gBAgBG;I3Eq5SP;I2E3zSA;MA1GI,sBAgBG;I3Ew5SP;I2E9zSA;MA1GI,qBAgBG;I3E25SP;I2Ej0SA;MA1GI,mBAgBG;I3E85SP;I2Ep0SA;MA1GI,qBAgBG;I3Ei6SP;I2Ev0SA;MA1GI,mBAgBG;I3Eo6SP;I2E10SA;MA1GI,mBAgBG;I3Eu6SP;I2E70SA;MA1GI,eAgBG;I3E06SP;I2Eh1SA;MA1GI,qBAgBG;I3E66SP;I2En1SA;MA1GI,oBAgBG;I3Eg7SP;I2Et1SA;MA1GI,kBAgBG;I3Em7SP;I2Ez1SA;MA1GI,oBAgBG;I3Es7SP;I2E51SA;MA1GI,kBAgBG;I3Ey7SP;I2E/1SA;MA1GI,kBAgBG;I3E47SP;I2El2SA;MA1GI,qBAgBG;I3E+7SP;I2Er2SA;MA1GI,2BAgBG;I3Ek8SP;I2Ex2SA;MA1GI,0BAgBG;I3Eq8SP;I2E32SA;MA1GI,wBAgBG;I3Ew8SP;I2E92SA;MA1GI,0BAgBG;I3E28SP;I2Ej3SA;MA1GI,wBAgBG;I3E88SP;I2Ep3SA;MA1GI,wBAgBG;I3Ei9SP;I2Ev3SA;MA1GI,oBAgBG;I3Eo9SP;I2E13SA;MA1GI,0BAgBG;I3Eu9SP;I2E73SA;MA1GI,yBAgBG;I3E09SP;I2Eh4SA;MA1GI,uBAgBG;I3E69SP;I2En4SA;MA1GI,yBAgBG;I3Eg+SP;I2Et4SA;MA1GI,uBAgBG;I3Em+SP;I2Ez4SA;MA1GI,uBAgBG;I3Es+SP;I2E54SA;MA1GI,mBAgBG;I3Ey+SP;I2E/4SA;MA1GI,yBAgBG;I3E4+SP;I2El5SA;MA1GI,wBAgBG;I3E++SP;I2Er5SA;MA1GI,sBAgBG;I3Ek/SP;I2Ex5SA;MA1GI,wBAgBG;I3Eq/SP;I2E35SA;MA1GI,sBAgBG;I3Ew/SP;I2E95SA;MA1GI,sBAgBG;I3E2/SP;I2Ej6SA;MA1GI,sBAgBG;I3E8/SP;I2Ep6SA;MA1GI,4BAgBG;I3EigTP;I2Ev6SA;MA1GI,2BAgBG;I3EogTP;I2E16SA;MA1GI,yBAgBG;I3EugTP;I2E76SA;MA1GI,2BAgBG;I3E0gTP;I2Eh7SA;MA1GI,yBAgBG;I3E6gTP;I2En7SA;MA1GI,yBAgBG;I3EghTP;I2Et7SA;MA1GI,UAgBG;I3EmhTP;I2Ez7SA;MA1GI,gBAgBG;I3EshTP;I2E57SA;MA1GI,eAgBG;I3EyhTP;I2E/7SA;MA1GI,aAgBG;I3E4hTP;I2El8SA;MA1GI,eAgBG;I3E+hTP;I2Er8SA;MA1GI,aAgBG;I3EkiTP;I2Ex8SA;MA1GI,iBAgBG;I3EqiTP;I2E38SA;MA1GI,uBAgBG;I3EwiTP;I2E98SA;MA1GI,sBAgBG;I3E2iTP;I2Ej9SA;MA1GI,oBAgBG;I3E8iTP;I2Ep9SA;MA1GI,sBAgBG;I3EijTP;I2Ev9SA;MA1GI,oBAgBG;I3EojTP;I2E19SA;MA1GI,gBAgBG;I3EujTP;I2E79SA;MA1GI,sBAgBG;I3E0jTP;I2Eh+SA;MA1GI,qBAgBG;I3E6jT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3Ek6TX;I2E70TA;MA1GI,sBAqBO;I3Eq6TX;I2Eh1TA;MA1GI,qBAqBO;I3Ew6TX;I2En1TA;MA1GI,SAgBG;I3Eg7TP;I2Et1TA;MA1GI,QAgBG;I3Em7TP;I2Ez1TA;MA1GI,QAgBG;I3Es7TP;I2E51TA;MA1GI,QAgBG;I3Ey7TP;I2E/1TA;MA1GI,QAgBG;I3E47TP;I2El2TA;MA1GI,QAgBG;I3E+7TP;I2Er2TA;MA1GI,QAgBG;I3Ek8TP;I2Ex2TA;MA1GI,QAgBG;I3Eq8TP;I2E32TA;MA1GI,SAgBG;I3Ew8TP;I2E92TA;MA1GI,eAgBG;I3E28TP;I2Ej3TA;MA1GI,cAgBG;I3E88TP;I2Ep3TA;MA1GI,YAgBG;I3Ei9TP;I2Ev3TA;MA1GI,cAgBG;I3Eo9TP;I2E13TA;MA1GI,YAgBG;I3Eu9TP;I2E73TA;MA1GI,YAgBG;I3E09TP;I2Eh4TA;MA1GI,gBAgBG;I3E69TP;I2En4TA;MA1GI,sBAgBG;I3Eg+TP;I2Et4TA;MA1GI,qBAgBG;I3Em+TP;I2Ez4TA;MA1GI,mBAgBG;I3Es+TP;I2E54TA;MA1GI,qBAgBG;I3Ey+TP;I2E/4TA;MA1GI,mBAgBG;I3E4+TP;I2El5TA;MA1GI,mBAgBG;I3E++TP;I2Er5TA;MA1GI,eAgBG;I3Ek/TP;I2Ex5TA;MA1GI,qBAgBG;I3Eq/TP;I2E35TA;MA1GI,oBAgBG;I3Ew/TP;I2E95TA;MA1GI,kBAgBG;I3E2/TP;I2Ej6TA;MA1GI,oBAgBG;I3E8/TP;I2Ep6TA;MA1GI,kBAgBG;I3EigUP;I2Ev6TA;MA1GI,kBAgBG;I3EogUP;I2E16TA;MA1GI,qBAgBG;I3EugUP;I2E76TA;MA1GI,2BAgBG;I3E0gUP;I2Eh7TA;MA1GI,0BAgBG;I3E6gUP;I2En7TA;MA1GI,wBAgBG;I3EghUP;I2Et7TA;MA1GI,0BAgBG;I3EmhUP;I2Ez7TA;MA1GI,wBAgBG;I3EshUP;I2E57TA;MA1GI,wBAgBG;I3EyhUP;I2E/7TA;MA1GI,oBAgBG;I3E4hUP;I2El8TA;MA1GI,0BAgBG;I3E+hUP;I2Er8TA;MA1GI,yBAgBG;I3EkiUP;I2Ex8TA;MA1GI,uBAgBG;I3EqiUP;I2E38TA;MA1GI,yBAgBG;I3EwiUP;I2E98TA;MA1GI,uBAgBG;I3E2iUP;I2Ej9TA;MA1GI,uBAgBG;I3E8iUP;I2Ep9TA;MA1GI,mBAgBG;I3EijUP;I2Ev9TA;MA1GI,yBAgBG;I3EojUP;I2E19TA;MA1GI,wBAgBG;I3EujUP;I2E79TA;MA1GI,sBAgBG;I3E0jUP;I2Eh+TA;MA1GI,wBAgBG;I3E6jUP;I2En+TA;MA1GI,sBAgBG;I3EgkUP;I2Et+TA;MA1GI,sBAgBG;I3EmkUP;I2Ez+TA;MA1GI,sBAgBG;I3EskUP;I2E5+TA;MA1GI,4BAgBG;I3EykUP;I2E/+TA;MA1GI,2BAgBG;I3E4kUP;I2El/TA;MA1GI,yBAgBG;I3E+kUP;I2Er/TA;MA1GI,2BAgBG;I3EklUP;I2Ex/TA;MA1GI,yBAgBG;I3EqlUP;I2E3/TA;MA1GI,yBAgBG;I3EwlUP;I2E9/TA;MA1GI,UAgBG;I3E2lUP;I2EjgUA;MA1GI,gBAgBG;I3E8lUP;I2EpgUA;MA1GI,eAgBG;I3EimUP;I2EvgUA;MA1GI,aAgBG;I3EomUP;I2E1gUA;MA1GI,eAgBG;I3EumUP;I2E7gUA;MA1GI,aAgBG;I3E0mUP;I2EhhUA;MA1GI,iBAgBG;I3E6mUP;I2EnhUA;MA1GI,uBAgBG;I3EgnUP;I2EthUA;MA1GI,sBAgBG;I3EmnUP;I2EzhUA;MA1GI,oBAgBG;I3EsnUP;I2E5hUA;MA1GI,sBAgBG;I3EynUP;I2E/hUA;MA1GI,oBAgBG;I3E4nUP;I2EliUA;MA1GI,gBAgBG;I3E+nUP;I2EriUA;MA1GI,sBAgBG;I3EkoUP;I2ExiUA;MA1GI,qBAgBG;I3EqoUP;I2E3iUA;MA1GI,mBAgBG;I3EwoUP;I2E9iUA;MA1GI,qBAgBG;I3E2oUP;I2EjjUA;MA1GI,mBAgBG;I3E8oUP;I2EpjUA;MA1GI,sBAgBG;I3EipUP;I2EvjUA;MA1GI,4BAgBG;I3EopUP;I2E1jUA;MA1GI,2BAgBG;I3EupUP;I2E7jUA;MA1GI,yBAgBG;I3E0pUP;I2EhkUA;MA1GI,2BAgBG;I3E6pUP;I2EnkUA;MA1GI,yBAgBG;I3EgqUP;I2EtkUA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gBG;I3E+4UP;I2ErzUA;MA1GI,kBAgBG;I3Ek5UP;I2ExzUA;MA1GI,qBAgBG;I3Eq5UP;I2E3zUA;MA1GI,sBAgBG;I3Ew5UP;I2E9zUA;MA1GI,wBAgBG;I3E25UP;I2Ej0UA;MA1GI,sBAgBG;I3E85UP;I2Ep0UA;MA1GI,oBAgBG;I3Ei6UP;I2Ev0UA;MA1GI,uBAgBG;I3Eo6UP;I2E10UA;MA1GI,qBAgBG;I3Eu6UP;I2E70UA;MA1GI,mBAgBG;I3E06UP;I2Eh1UA;MA1GI,qBAgBG;I3E66UP;I2En1UA;MA1GI,oBAgBG;I3Eg7UP;I2Et1UA;MA1GI,yBAgBG;I3Em7UP;I2Ez1UA;MA1GI,uBAgBG;I3Es7UP;I2E51UA;MA1GI,qBAgBG;I3Ey7UP;I2E/1UA;MA1GI,4BAgBG;I3E47UP;I2El2UA;MA1GI,2BAgBG;I3E+7UP;I2Er2UA;MA1GI,sBAgBG;I3Ek8UP;I2Ex2UA;MA1GI,gBAgBG;I3Eq8UP;I2E32UA;MA1GI,sBAgBG;I3Ew8UP;I2E92UA;MA1GI,oBAgBG;I3E28UP;I2Ej3UA;MA1GI,kBAgBG;I3E88UP;I2Ep3UA;MA1GI,oBAgBG;I3Ei9UP;I2Ev3UA;MA1GI,mBAgBG;I3Eo9UP;I2E13UA;MA1GI,kBAgBG;I3Eu9UP;I2E73UA;MA1GI,gBAgBG;I3E09UP;I2Eh4UA;MA1GI,mBAgBG;I3E69UP;I2En4UA;MA1GI,oBAgBG;I3Eg+UP;I2Et4UA;MA1GI,eAqBO;I3E89UX;I2Ez4UA;MA1GI,eAqBO;I3Ei+UX;I2E54UA;MA1GI,eAqBO;I3Eo+UX;I2E/4UA;MA1GI,mBAgBG;I3E4+UP;I2El5UA;MA1GI,mBAqBO;I3E0+UX;I2Er5UA;MA1GI,sBAqBO;I3E6+UX;I2Ex5UA;MA1GI,qBAqBO;I3Eg/UX;I2E35UA;MA1GI,SAgBG;I3Ew/UP;I2E95UA;MA1GI,QAgBG;I3E2/UP;I2Ej6UA;MA1GI,QAgBG;I3E8/UP;I2Ep6UA;MA1GI,QAgBG;I3EigVP;I2Ev6UA;MA1GI,QAgBG;I3EogVP;I2E16UA;MA1GI,QAgBG;I3EugVP;I2E76UA;MA1GI,QAgBG;I3E0gVP;I2Eh7UA;MA1GI,QAgBG;I3E6gVP;I2En7UA;MA1GI,SAgBG;I3EghVP;I2Et7UA;MA1GI,eAgBG;I3EmhVP;I2Ez7UA;MA1GI,cAgBG;I3EshVP;I2E57UA;MA1GI,YAgBG;I3EyhVP;I2E/7UA;MA1GI,cAgBG;I3E4hVP;I2El8UA;MA1GI,YAgBG;I3E+hVP;I2Er8UA;MA1GI,YAgBG;I3EkiVP;I2Ex8UA;MA1GI,gBAgBG;I3EqiVP;I2E38UA;MA1GI,sBAgBG;I3EwiVP;I2E98UA;MA1GI,qBAgBG;I3E2iVP;I2Ej9UA;MA1GI,mBAgBG;I3E8iVP;I2Ep9UA;MA1GI,qBAgBG;I3EijVP;I2Ev9UA;MA1GI,mBAgBG;I3EojVP;I2E19UA;MA1GI,mBAgBG;I3EujVP;I2E79UA;MA1GI,eAgBG;I3E0jVP;I2Eh+UA;MA1GI,qBAgBG;I3E6jVP;I2En+UA;MA1GI,oBAgBG;I3EgkVP;I2Et+UA;MA1GI,kBAgBG;I3EmkVP;I2Ez+UA;MA1GI,oBAgBG;I3EskVP;I2E5+UA;MA1GI,kBAgBG;I3EykVP;I2E/+UA;MA1GI,kBAgBG;I3E4kVP;I2El/UA;MA1GI,qBAgBG;I3E+kVP;I2Er/UA;MA1GI,2BAgBG;I3EklVP;I2Ex/UA;MA1GI,0BAgBG;I3EqlVP;I2E3/UA;MA1GI,wBAgBG;I3EwlVP;I2E9/UA;MA1GI,0BAgBG;I3E2lVP;I2EjgVA;MA1GI,wBAgBG;I3E8lVP;I2EpgVA;MA1GI,wBAgBG;I3EimVP;I2EvgVA;MA1GI,oBAgBG;I3EomVP;I2E1gVA;MA1GI,0BAgBG;I3EumVP;I2E7gVA;MA1GI,yBAgBG;I3E0mVP;I2EhhVA;MA1GI,uBAgBG;I3E6mVP;I2EnhVA;MA1GI,yBAgBG;I3EgnVP;I2EthVA;MA1GI,uBAgBG;I3EmnVP;I2EzhVA;MA1GI,uBAgBG;I3EsnVP;I2E5hVA;MA1GI,mBAgBG;I3EynVP;I2E/hVA;MA1GI,yBAgBG;I3E4nVP;I2EliVA;MA1GI,wBAgBG;I3E+nVP;I2EriVA;MA1GI,sBAgBG;I3EkoVP;I2ExiVA;MA1GI,wBAgBG;I3EqoVP;I2E3iVA;MA1GI,sBAgBG;I3EwoVP;I2E9iVA;MA1GI,sBAgBG;I3E2oVP;I2EjjVA;MA1GI,sBAgBG;I3E8oVP;I2EpjVA;MA1GI,4BAgBG;I3EipVP;I2EvjVA;MA1GI,2BAgBG;I3EopVP;I2E1jVA;MA1GI,yBAgBG;I3EupVP;I2E7jVA;MA1GI,2BAgBG;I3E0pVP;I2EhkVA;MA1GI,yBAgBG;I3E6pVP;I2EnkVA;MA1GI,yBAgBG;I3EgqVP;I2EtkVA;MA1GI,UAgBG;I3EmqVP;I2EzkVA;MA1GI,gBAgBG;I3EsqVP;I2E5kVA;MA1GI,eAgBG;I3EyqVP;I2E/kVA;MA1GI,aAgBG;I3E4qVP;I2EllVA;MA1GI,eAgBG;I3E+qVP;I2ErlVA;MA1GI,aAgBG;I3EkrVP;I2ExlVA;MA1GI,iBAgBG;I3EqrVP;I2E3lVA;MA1GI,uBAgBG;I3EwrVP;I2E9lVA;MA1GI,sBAgBG;I3E2rVP;I2EjmVA;MA1GI,oBAgBG;I3E8rVP;I2EpmVA;MA1GI,sBAgBG;I3EisVP;I2EvmVA;MA1GI,oBAgBG;I3EosVP;I2E1mVA;MA1GI,gBAgBG;I3EusVP;I2E7mVA;MA1GI,sBAgBG;I3E0sVP;I2EhnVA;MA1GI,qBAgBG;I3E6sVP;I2EnnVA;MA1GI,mBAgBG;I3EgtVP;I2EtnVA;MA1GI,qBAgBG;I3EmtVP;I2EznVA;MA1GI,mBAgBG;I3EstVP;I2E5nVA;MA1GI,sBAgBG;I3EytVP;I2E/nVA;MA1GI,4BAgBG;I3E4tVP;I2EloVA;MA1GI,2BAgBG;I3E+tVP;I2EroVA;MA1GI,yBAgBG;I3EkuVP;I2ExoVA;MA1GI,2BAgBG;I3EquVP;I2E3oVA;MA1GI,yBAgBG;I3EwuVP;I2E9oVA;MA1GI,qBAgBG;I3E2uVP;I2EjpVA;MA1GI,2BAgBG;I3E8uVP;I2EppVA;MA1GI,0BAgBG;I3EivVP;I2EvpVA;MA1GI,wBAgBG;I3EovVP;I2E1pVA;MA1GI,0BAgBG;I3EuvVP;I2E7pVA;MA1GI,wBAgBG;I3E0vVP;I2EhqVA;MA1GI,oBAgBG;I3E6vVP;I2EnqVA;MA1GI,0BAgBG;I3EgwVP;I2EtqVA;MA1GI,yBAgBG;I3EmwVP;I2EzqVA;MA1GI,uBAgBG;I3EswVP;I2E5qVA;MA1GI,yBAgBG;I3EywVP;I2E/qVA;MA1GI,uBAgBG;I3E4wVP;I2ElrVA;MA1GI,uBAgBG;I3E+wVP;I2ErrVA;MA1GI,6BAgBG;I3EkxVP;I2ExrVA;MA1GI,4BAgBG;I3EqxVP;I2E3rVA;MA1GI,0BAgBG;I3EwxVP;I2E9rVA;MA1GI,4BAgBG;I3E2xVP;I2EjsVA;MA1GI,0BAgBG;I3E8xVP;I2EpsVA;MA1GI,MAgBG;I3EiyVP;I2EvsVA;MA1GI,YAgBG;I3EoyVP;I2E1sVA;MA1GI,WAgBG;I3EuyVP;I2E7sVA;MA1GI,SAgBG;I3E0yVP;I2EhtVA;MA1GI,WAgBG;I3E6yVP;I2EntVA;MA1GI,SAgBG;I3EgzVP;I2EttVA;MA1GI,UAgBG;I3EmzVP;I2EztVA;MA1GI,gBAgBG;I3EszVP;I2E5tVA;MA1GI,eAgBG;I3EyzVP;I2E/tVA;MA1GI,aAgBG;I3E4zVP;I2EluVA;MA1GI,eAgBG;I3E+zVP;I2EruVA;MA1GI,aAgBG;I3Ek0VP;I2ExuVA;MA1GI,kBAgBG;MAhBH,aAgBG;I3Eq0VP;I2E3uVA;MA1GI,wBAgBG;MAhBH,mBAgBG;I3Ew0VP;I2E9uVA;MA1GI,uBAgBG;MAhBH,kBAgBG;I3E20VP;I2EjvVA;MA1GI,qBAgBG;MAhBH,gBAgBG;I3E80VP;I2EpvVA;MA1GI,uBAgBG;MAhBH,kBAgBG;I3Ei1VP;I2EvvVA;MA1GI,qBAgBG;MAhBH,gBAgBG;I3Eo1VP;I2E1vVA;MA1GI,iBAgBG;I3Eu1VP;I2E7vVA;MA1GI,eAgBG;I3E01VP;I2EhwVA;MA1GI,kBAgBG;I3E61VP;EACF;Ean3VE;I8D+GA;MA1GI,mBAgBG;I3Ek2VP;I2ExwVA;MA1GI,iBAgBG;I3Eq2VP;I2E3wVA;MA1GI,WAgBG;I3Ew2VP;I2E9wVA;MA1GI,sBAgBG;MAhBH,mBAgBG;I3E22VP;I2EjxVA;MA1GI,oBAgBG;MAhBH,iBAgBG;I3E82VP;I2EpxVA;MA1GI,mBAgBG;MAhBH,gBAgBG;I3Ei3VP;I2EvxVA;MA1GI,yBAgBG;MAhBH,sBAgBG;I3Eo3VP;I2E1xVA;MA1GI,mBAgBG;MAhBH,gBAgBG;I3Eu3VP;I2E7xVA;MA1GI,eAqBO;I3Eq3VX;I2EhyVA;MA1GI,qBAqBO;I3Ew3VX;I2EnyVA;MA1GI,cAqBO;I3E23VX;I2EtyVA;MA1GI,aAqBO;I3E83VX;I2EzyVA;MA1GI,oBAqBO;I3Ei4VX;I2E5yVA;MA1GI,cAqBO;I3Eo4VX;I2E/yVA;MA1GI,kBAqBO;I3Eu4VX;I2ElzVA;MA1GI,mBAqBO;I3E04VX;I2ErzVA;MA1GI,aAqBO;I3E64VX;I2ExzVA;MA1GI,oBAqBO;I3Eg5VX;I2E3zVA;MA1GI,iBAqBO;I3Em5VX;I2E9zVA;MA1GI,kBAqBO;I3Es5VX;I2Ej0VA;MA1GI,aAqBO;I3Ey5VX;I2Ep0VA;MA1GI,cAgBG;I3Ei6VP;I2Ev0VA;MA1GI,mBAqBO;I3E+5VX;I2E10VA;MA1GI,sBAqBO;I3Ek6VX;I2E70VA;MA1GI,2BAqBO;I3Eq6VX;I2Eh1VA;MA1GI,8BAqBO;I3Ew6VX;I2En1VA;MA1GI,YAgBG;I3Eg7VP;I2Et1VA;MA1GI,YAgBG;I3Em7VP;I2Ez1VA;MA1GI,cAgBG;I3Es7VP;I2E51VA;MA1GI,cAgBG;I3Ey7VP;I2E/1VA;MA1GI,eAqBO;I3Eu7VX;I2El2VA;MA1GI,iBAqBO;I3E07VX;I2Er2VA;MA1GI,uBAqBO;I3E67VX;I2Ex2VA;MA1GI,2BAgBG;I3Eq8VP;I2E32VA;MA1GI,yBAgBG;I3Ew8VP;I2E92VA;MA1GI,uBAgBG;I3E28VP;I2Ej3VA;MA1GI,8BAgBG;I3E88VP;I2Ep3VA;MA1GI,6BAgBG;I3Ei9VP;I2Ev3VA;MA1GI,6BAgBG;I3Eo9VP;I2E13VA;MA1GI,oBAgBG;I3Eu9VP;I2E73VA;MA1GI,kBAgBG;I3E09VP;I2Eh4VA;MA1GI,qBAgBG;I3E69VP;I2En4VA;MA1GI,sBAgBG;I3Eg+VP;I2Et4VA;MA1GI,wBAgBG;I3Em+VP;I2Ez4VA;MA1GI,sBAgBG;I3Es+VP;I2E54VA;MA1GI,oBAgBG;I3Ey+VP;I2E/4VA;MA1GI,uBAgBG;I3E4+VP;I2El5VA;MA1GI,qBAgBG;I3E++VP;I2Er5VA;MA1GI,mBAgBG;I3Ek/VP;I2Ex5VA;MA1GI,qBAgBG;I3Eq/VP;I2E35VA;MA1GI,oBAgBG;I3Ew/VP;I2E95VA;MA1GI,yBAgBG;I3E2/VP;I2Ej6VA;MA1GI,uBAgBG;I3E8/VP;I2Ep6VA;MA1GI,qBAgBG;I3EigWP;I2Ev6VA;MA1GI,4BAgBG;I3EogWP;I2E16VA;MA1GI,2BAgBG;I3EugWP;I2E76VA;MA1GI,sBAgBG;I3E0gWP;I2Eh7VA;MA1GI,gBAgBG;I3E6gWP;I2En7VA;MA1GI,sBAgBG;I3EghWP;I2Et7VA;MA1GI,oBAgBG;I3EmhWP;I2Ez7VA;MA1GI,kBAgBG;I3EshWP;I2E57VA;MA1GI,oBAgBG;I3EyhWP;I2E/7VA;MA1GI,mBAgBG;I3E4hWP;I2El8VA;MA1GI,kBAgBG;I3E+hWP;I2Er8VA;MA1GI,gBAgBG;I3EkiWP;I2Ex8VA;MA1GI,mBAgBG;I3EqiWP;I2E38VA;MA1GI,oBAgBG;I3EwiWP;I2E98VA;MA1GI,eAqBO;I3EsiWX;I2Ej9VA;MA1GI,eAqBO;I3EyiWX;I2Ep9VA;MA1GI,eAqBO;I3E4iWX;I2Ev9VA;MA1GI,mBAgBG;I3EojWP;I2E19VA;MA1GI,mBAqBO;I3EkjWX;I2E79VA;MA1GI,sBAqBO;I3EqjWX;I2Eh+VA;MA1GI,qBAqBO;I3EwjWX;I2En+VA;MA1GI,SAgBG;I3EgkWP;I2Et+VA;MA1GI,QAgBG;I3EmkWP;I2Ez+VA;MA1GI,QAgBG;I3EskWP;I2E5+VA;MA1GI,QAgBG;I3EykWP;I2E/+VA;MA1GI,QAgBG;I3E4kWP;I2El/VA;MA1GI,QAgBG;I3E+kWP;I2Er/VA;MA1GI,QAgBG;I3EklWP;I2Ex/VA;MA1GI,QAgBG;I3EqlWP;I2E3/VA;MA1GI,SAgBG;I3EwlWP;I2E9/VA;MA1GI,eAgBG;I3E2lWP;I2EjgWA;MA1GI,cAgBG;I3E8lWP;I2EpgWA;MA1GI,YAgBG;I3EimWP;I2EvgWA;MA1GI,cAgBG;I3EomWP;I2E1gWA;MA1GI,YAgBG;I3EumWP;I2E7gWA;MA1GI,YAgBG;I3E0mWP;I2EhhWA;MA1GI,gBAgBG;I3E6mWP;I2EnhWA;MA1GI,sBAgBG;I3EgnWP;I2EthWA;MA1GI,qBAgBG;I3EmnWP;I2EzhWA;MA1GI,mBAgBG;I3EsnWP;I2E5hWA;MA1GI,qBAgBG;I3EynWP;I2E/hWA;MA1GI,mBAgBG;I3E4nWP;I2EliWA;MA1GI,mBAgBG;I3E+nWP;I2EriWA;MA1GI,eAgBG;I3EkoWP;I2ExiWA;MA1GI,qBAgBG;I3EqoWP;I2E3iWA;MA1GI,oBAgBG;I3EwoWP;I2E9iWA;MA1GI,kBAgBG;I3E2oWP;I2EjjWA;MA1GI,oBAgBG;I3E8oWP;I2EpjWA;MA1GI,kBAgBG;I3EipWP;I2EvjWA;MA1GI,kBAgBG;I3EopWP;I2E1jWA;MA1GI,qBAgBG;I3EupWP;I2E7jWA;MA1GI,2BAgBG;I3E0pWP;I2EhkWA;MA1GI,0BAgBG;I3E6pWP;I2EnkWA;MA1GI,wBAgBG;I3EgqWP;I2EtkWA;MA1GI,0BAgBG;I3EmqWP;I2EzkWA;MA1GI,wBAgBG;I3EsqWP;I2E5kWA;MA1GI,wBAgBG;I3EyqWP;I2E/kWA;MA1GI,oBAgBG;I3E4qWP;I2EllWA;MA1GI,0BAgBG;I3E+qWP;I2ErlWA;MA1GI,yBAgBG;I3EkrWP;I2ExlWA;MA1GI,uBAgBG;I3EqrWP;I2E3lWA;MA1GI,yBAgBG;I3EwrWP;I2E9lWA;MA1GI,uBAgBG;I3E2rWP;I2EjmWA;MA1GI,uBAgBG;I3E8rWP;I2EpmWA;MA1GI,mBAgBG;I3EisWP;I2EvmWA;MA1GI,yBAgBG;I3EosWP;I2E1mWA;MA1GI,wBAgBG;I3EusWP;I2E7mWA;MA1GI,sBAgBG;I3E0sWP;I2EhnWA;MA1GI,wBAgBG;I3E6sWP;I2EnnWA;MA1GI,sBAgBG;I3EgtWP;I2EtnWA;MA1GI,sBAgBG;I3EmtWP;I2EznWA;MA1GI,sBAgBG;I3EstWP;I2E5nWA;MA1GI,4BAgBG;I3EytWP;I2E/nWA;MA1GI,2BAgBG;I3E4tWP;I2EloWA;MA1GI,yBAgBG;I3E+tWP;I2EroWA;MA1GI,2BAgBG;I3EkuWP;I2ExoWA;MA1GI,yBAgBG;I3EquWP;I2E3oWA;MA1GI,yBAgBG;I3EwuWP;I2E9oWA;MA1GI,UAgBG;I3E2uWP;I2EjpWA;MA1GI,gBAgBG;I3E8uWP;I2EppWA;MA1GI,eAgBG;I3EivWP;I2EvpWA;MA1GI,aAgBG;I3EovWP;I2E1pWA;MA1GI,eAgBG;I3EuvWP;I2E7pWA;MA1GI,aAgBG;I3E0vWP;I2EhqWA;MA1GI,iBAgBG;I3E6vWP;I2EnqWA;MA1GI,uBAgBG;I3EgwWP;I2EtqWA;MA1GI,sBAgBG;I3EmwWP;I2EzqWA;MA1GI,oBAgBG;I3EswWP;I2E5qWA;MA1GI,sBAgBG;I3EywWP;I2E/qWA;MA1GI,oBAgBG;I3E4wWP;I2ElrWA;MA1GI,gBAgBG;I3E+wWP;I2ErrWA;MA1GI,sBAgBG;I3EkxWP;I2ExrWA;MA1GI,qBAgBG;I3EqxWP;I2E3rWA;MA1GI,mBAgBG;I3EwxWP;I2E9rWA;MA1GI,qBAgBG;I3E2xWP;I2EjsWA;MA1GI,mBAgBG;I3E8xWP;I2EpsWA;MA1GI,sBAgBG;I3EiyWP;I2EvsWA;MA1GI,4BAgBG;I3EoyWP;I2E1sWA;MA1GI,2BAgBG;I3EuyWP;I2E7sWA;MA1GI,yBAgBG;I3E0yWP;I2EhtWA;MA1GI,2BAgBG;I3E6yWP;I2EntWA;MA1GI,yBAgBG;I3EgzWP;I2EttWA;MA1GI,qBAgBG;I3EmzWP;I2EztWA;MA1GI,2BAgBG;I3EszWP;I2E5tWA;MA1GI,0BAgBG;I3EyzWP;I2E/tWA;MA1GI,wBAgBG;I3E4zWP;I2EluWA;MA1GI,0BAgBG;I3E+zWP;I2EruWA;MA1GI,wBAgBG;I3Ek0WP;I2ExuWA;MA1GI,oBAgBG;I3Eq0WP;I2E3uWA;MA1GI,0BAgBG;I3Ew0WP;I2E9uWA;MA1GI,yBAgBG;I3E20WP;I2EjvWA;MA1GI,uBAgBG;I3E80WP;I2EpvWA;MA1GI,yBAgBG;I3Ei1WP;I2EvvWA;MA1GI,uBAgBG;I3Eo1WP;I2E1vWA;MA1GI,uBAgBG;I3Eu1WP;I2E7vWA;MA1GI,6BAgBG;I3E01WP;I2EhwWA;MA1GI,4BAgBG;I3E61WP;I2EnwWA;MA1GI,0BAgBG;I3Eg2WP;I2EtwWA;MA1GI,4BAgBG;I3Em2WP;I2EzwWA;MA1GI,0BAgBG;I3Es2WP;I2E5wWA;MA1GI,MAgBG;I3Ey2WP;I2E/wWA;MA1GI,YAgBG;I3E42WP;I2ElxWA;MA1GI,WAgBG;I3E+2WP;I2ErxWA;MA1GI,SAgBG;I3Ek3WP;I2ExxWA;MA1GI,WAgBG;I3Eq3WP;I2E3xWA;MA1GI,SAgBG;I3Ew3WP;I2E9xWA;MA1GI,UAgBG;I3E23WP;I2EjyWA;MA1GI,gBAgBG;I3E83WP;I2EpyWA;MA1GI,eAgBG;I3Ei4WP;I2EvyWA;MA1GI,aAgBG;I3Eo4WP;I2E1yWA;MA1GI,eAgBG;I3Eu4WP;I2E7yWA;MA1GI,aAgBG;I3E04WP;I2EhzWA;MA1GI,kBAgBG;MAhBH,aAgBG;I3E64WP;I2EnzWA;MA1GI,wBAgBG;MAhBH,mBAgBG;I3Eg5WP;I2EtzWA;MA1GI,uBAgBG;MAhBH,kBAgBG;I3Em5WP;I2EzzWA;MA1GI,qBAgBG;MAhBH,gBAgBG;I3Es5WP;I2E5zWA;MA1GI,uBAgBG;MAhBH,kBAgBG;I3Ey5WP;I2E/zWA;MA1GI,qBAgBG;MAhBH,gBAgBG;I3E45WP;I2El0WA;MA1GI,iBAgBG;I3E+5WP;I2Er0WA;MA1GI,eAgBG;I3Ek6WP;I2Ex0WA;MA1GI,kBAgBG;I3Eq6WP;EACF;Ea37WE;I8D+GA;MA1GI,mBAgBG;I3E06WP;I2Eh1WA;MA1GI,iBAgBG;I3E66WP;I2En1WA;MA1GI,WAgBG;I3Eg7WP;I2Et1WA;MA1GI,sBAgBG;MAhBH,mBAgBG;I3Em7WP;I2Ez1WA;MA1GI,oBAgBG;MAhBH,iBAgBG;I3Es7WP;I2E51WA;MA1GI,mBAgBG;MAhBH,gBAgBG;I3Ey7WP;I2E/1WA;MA1GI,yBAgBG;MAhBH,sBAgBG;I3E47WP;I2El2WA;MA1GI,mBAgBG;MAhBH,gBAgBG;I3E+7WP;I2Er2WA;MA1GI,eAqBO;I3E67WX;I2Ex2WA;MA1GI,qBAqBO;I3Eg8WX;I2E32WA;MA1GI,cAqBO;I3Em8WX;I2E92WA;MA1GI,aAqBO;I3Es8WX;I2Ej3WA;MA1GI,oBAqBO;I3Ey8WX;I2Ep3WA;MA1GI,cAqBO;I3E48WX;I2Ev3WA;MA1GI,kBAqBO;I3E+8WX;I2E13WA;MA1GI,mBAqBO;I3Ek9WX;I2E73WA;MA1GI,aAqBO;I3Eq9WX;I2Eh4WA;MA1GI,oBAqBO;I3Ew9WX;I2En4WA;MA1GI,iBAqBO;I3E29WX;I2Et4WA;MA1GI,kBAqBO;I3E89WX;I2Ez4WA;MA1GI,aAqBO;I3Ei+WX;I2E54WA;MA1GI,cAgBG;I3Ey+WP;I2E/4WA;MA1GI,mBAqBO;I3Eu+WX;I2El5WA;MA1GI,sBAqBO;I3E0+WX;I2Er5WA;MA1GI,2BAqBO;I3E6+WX;I2Ex5WA;MA1GI,8BAqBO;I3Eg/WX;I2E35WA;MA1GI,YAgBG;I3Ew/WP;I2E95WA;MA1GI,YAgBG;I3E2/WP;I2Ej6WA;MA1GI,cAgBG;I3E8/WP;I2Ep6WA;MA1GI,cAgBG;I3EigXP;I2Ev6WA;MA1GI,eAqBO;I3E+/WX;I2E16WA;MA1GI,iBAqBO;I3EkgXX;I2E76WA;MA1GI,uBAqBO;I3EqgXX;I2Eh7WA;MA1GI,2BAgBG;I3E6gXP;I2En7WA;MA1GI,yBAgBG;I3EghXP;I2Et7WA;MA1GI,uBAgBG;I3EmhXP;I2Ez7WA;MA1GI,8BAgBG;I3EshXP;I2E57WA;MA1GI,6BAgBG;I3EyhXP;I2E/7WA;MA1GI,6BAgBG;I3E4hXP;I2El8WA;MA1GI,oBAgBG;I3E+hXP;I2Er8WA;MA1GI,kBAgBG;I3EkiXP;I2Ex8WA;MA1GI,qBAgBG;I3EqiXP;I2E38WA;MA1GI,sBAgBG;I3EwiXP;I2E98WA;MA1GI,wBAgBG;I3E2iXP;I2Ej9WA;MA1GI,sBAgBG;I3E8iXP;I2Ep9WA;MA1GI,oBAgBG;I3EijXP;I2Ev9WA;MA1GI,uBAgBG;I3EojXP;I2E19WA;MA1GI,qBAgBG;I3EujXP;I2E79WA;MA1GI,mBAgBG;I3E0jXP;I2Eh+WA;MA1GI,qBAgBG;I3E6jXP;I2En+WA;MA1GI,oBAgBG;I3EgkXP;I2Et+WA;MA1GI,yBAgBG;I3EmkXP;I2Ez+WA;MA1GI,uBAgBG;I3EskXP;I2E5+WA;MA1GI,qBAgBG;I3EykXP;I2E/+WA;MA1GI,4BAgBG;I3E4kXP;I2El/WA;MA1GI,2BAgBG;I3E+kXP;I2Er/WA;MA1GI,sBAgBG;I3EklXP;I2Ex/WA;MA1GI,gBAgBG;I3EqlXP;I2E3/WA;MA1GI,sBAgBG;I3EwlXP;I2E9/WA;MA1GI,oBAgBG;I3E2lXP;I2EjgXA;MA1GI,kBAgBG;I3E8lXP;I2EpgXA;MA1GI,oBAgBG;I3EimXP;I2EvgXA;MA1GI,mBAgBG;I3EomXP;I2E1gXA;MA1GI,kBAgBG;I3EumXP;I2E7gXA;MA1GI,gBAgBG;I3E0mXP;I2EhhXA;MA1GI,mBAgBG;I3E6mXP;I2EnhXA;MA1GI,oBAgBG;I3EgnXP;I2EthXA;MA1GI,eAqBO;I3E8mXX;I2EzhXA;MA1GI,eAqBO;I3EinXX;I2E5hXA;MA1GI,eAqBO;I3EonXX;I2E/hXA;MA1GI,mBAgBG;I3E4nXP;I2EliXA;MA1GI,mBAqBO;I3E0nXX;I2EriXA;MA1GI,sBAqBO;I3E6nXX;I2ExiXA;MA1GI,qBAqBO;I3EgoXX;I2E3iXA;MA1GI,SAgBG;I3EwoXP;I2E9iXA;MA1GI,QAgBG;I3E2oXP;I2EjjXA;MA1GI,QAgBG;I3E8oXP;I2EpjXA;MA1GI,QAgBG;I3EipXP;I2EvjXA;MA1GI,QAgBG;I3EopXP;I2E1jXA;MA1GI,QAgBG;I3EupXP;I2E7jXA;MA1GI,QAgBG;I3E0pXP;I2EhkXA;MA1GI,QAgBG;I3E6pXP;I2EnkXA;MA1GI,SAgBG;I3EgqXP;I2EtkXA;MA1GI,eAgBG;I3EmqXP;I2EzkXA;MA1GI,cAgBG;I3EsqXP;I2E5kXA;MA1GI,YAgBG;I3EyqXP;I2E/kXA;MA1GI,cAgBG;I3E4qXP;I2EllXA;MA1GI,YAgBG;I3E+qXP;I2ErlXA;MA1GI,YAgBG;I3EkrXP;I2ExlXA;MA1GI,gBAgBG;I3EqrXP;I2E3lXA;MA1GI,sBAgBG;I3EwrXP;I2E9lXA;MA1GI,qBAgBG;I3E2rXP;I2EjmXA;MA1GI,mBAgBG;I3E8rXP;I2EpmXA;MA1GI,qBAgBG;I3EisXP;I2EvmXA;MA1GI,mBAgBG;I3EosXP;I2E1mXA;MA1GI,mBAgBG;I3EusXP;I2E7mXA;MA1GI,eAgBG;I3E0sXP;I2EhnXA;MA1GI,qBAgBG;I3E6sXP;I2EnnXA;MA1GI,oBAgBG;I3EgtXP;I2EtnXA;MA1GI,kBAgBG;I3EmtXP;I2EznXA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","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --white-rgb: to-rgb(#fff);\n  --black-rgb: to-rgb(#000);\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --body-color-rgb: to-rgb(var(--color-body));\n  --body-bg-rgb: to-rgb(var(--bg-body));\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--color-body);\n  --highlight-bg: var(--yellow-100);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: rgba(0, 0, 0, 0.175);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --emphasis-color: #fff;\n  --emphasis-color-rgb: to-rgb(#fff);\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --border-color-translucent: rgba(255, 255, 255, 0.15);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    --table-color: var(--color-body);\n    --table-bg: var(--bg-body);\n    --table-border-color: var(--border-color);\n    --table-accent-bg: transparent;\n    --table-striped-color: var(--color-body);\n    --table-striped-bg: color-mix(in srgb, var(--table-color) 5%, transparent);\n    --table-active-color: var(--color-body);\n    --table-active-bg: color-mix(in srgb, var(--table-color) 10%, transparent);\n    --table-hover-color: var(--color-body);\n    --table-hover-bg: color-mix(in srgb, var(--table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bg-body);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\n    box-shadow: var(--box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose h1:not([class]),\n  .prose h2:not([class]),\n  .prose h3:not([class]),\n  .prose h4:not([class]),\n  .prose h5:not([class]),\n  .prose h6:not([class]) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1:not([class]) code,\n  .prose h2:not([class]) code,\n  .prose h3:not([class]) code,\n  .prose h4:not([class]) code,\n  .prose h5:not([class]) code,\n  .prose h6:not([class]) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--border-width));\n    padding-bottom: add(0.375rem, var(--border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--border-width));\n    padding-bottom: add(0.5rem, var(--border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--border-width));\n    padding-bottom: add(0.25rem, var(--border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--color-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-select-bg-color: var(--gray-600);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    color: var(--color-body);\n    background-color: var(--bg-body);\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--color-body);\n    background-color: var(--tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--color-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-control-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--secondary-text);\n  }\n  .check {\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-checked-bg: var(--primary-base);\n    --check-checked-border-color: var(--primary-base);\n    --check-indeterminate-bg: var(--primary-base);\n    --check-indeterminate-border-color: var(--primary-base);\n    --check-disabled-bg: var(--bg-3);\n    --check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--secondary-text);\n  }\n  .radio {\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--primary-base);\n    --radio-checked-border-color: var(--primary-base);\n    --radio-disabled-bg: var(--bg-3);\n    --radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(1rem + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: rgba(var(--body-color-rgb), 0.65);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bg-body);\n    border-radius: var(--border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--color-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--tertiary-bg);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\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: 17.5px;\n    border-radius: var(--border-radius-lg);\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: 12.25px;\n    border-radius: var(--border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: var(--bg-2);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: 0.25rem;\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n  }\n  .strength-text {\n    display: block;\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--strength-color, var(--secondary-color));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: 0.25rem;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n    --strength-width: 100%;\n  }\n}\n@layer forms {\n  .otp {\n    --otp-size: 3rem;\n    --otp-font-size: 17.5px;\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: 2.25rem;\n    --otp-font-size: 14px;\n  }\n  .otp-lg {\n    --otp-size: 3.5rem;\n    --otp-font-size: 21.875px;\n  }\n}\n@layer forms {\n  .form-adorn {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--color-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-adorn {\n      transition: none;\n    }\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n  .form-adorn-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-adorn-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--font-size-sm);\n    color: #fff;\n    background-color: var(--success);\n    border-radius: var(--border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--form-valid-border-color);\n    padding-inline-end: add(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='var%28--success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--form-valid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--font-size-sm);\n    color: #fff;\n    background-color: var(--danger);\n    border-radius: var(--border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--form-invalid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: 0.75rem;\n    --btn-padding-y: 0.375rem;\n    --btn-font-size: var(--font-size-base);\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-line-height: var(--line-height-base);\n    --btn-color: var(--fg-body);\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: 400;\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: 1.5rem;\n    --btn-padding-y: 0.125rem;\n    --btn-padding-x: 0.375rem;\n    --btn-font-size: var(--font-size-xs);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: 2rem;\n    --btn-padding-y: 0.25rem;\n    --btn-padding-x: 0.5rem;\n    --btn-font-size: var(--font-size-sm);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: 2.75rem;\n    --btn-padding-y: 0.5rem;\n    --btn-padding-x: 1rem;\n    --btn-font-size: var(--font-size-md);\n    --btn-line-height: 1.25rem;\n    --btn-border-radius: var(--border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: var(--fg-body);\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--focus-ring);\n    opacity: var(--btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-color: var(--color-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-radius 0.15s ease;\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-padding-x: 1.25rem;\n    --accordion-btn-padding-y: 1rem;\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--accordion-bg);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-body-padding-x: 1.25rem;\n    --accordion-body-padding-y: 1rem;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);\n    font-size: 14px;\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: 600;\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: 600;\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: 1px;\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-padding-x: 0;\n    --breadcrumb-padding-y: 0;\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: ;\n    --breadcrumb-bg: ;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: ;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: ;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: ;\n    --card-height: ;\n    --card-color: ;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--color-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: transform 0.6s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s 0.6s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15%;\n    padding: 0;\n    color: #fff;\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: 0.5;\n    transition: opacity 0.15s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9;\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: 2rem;\n    height: 2rem;\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(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: 15%;\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    padding: 0;\n    margin-inline: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: 10px solid transparent;\n    opacity: 0.5;\n    transition: opacity 0.6s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: 1;\n  }\n  .carousel-caption {\n    position: absolute;\n    right: 15%;\n    bottom: 1.25rem;\n    left: 15%;\n    padding-top: 1.25rem;\n    padding-bottom: 1.25rem;\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  :root,\n  [data-bs-theme=light] {\n    --carousel-indicator-active-bg: #fff;\n    --carousel-caption-color: #fff;\n    --carousel-control-icon-filter: ;\n  }\n  [data-bs-theme=dark] {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    border-radius: var(--datepicker-border-radius);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: 0.5rem;\n    border-end-start-radius: 0.5rem;\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: 0.5rem;\n    border-end-end-radius: 0.5rem;\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: 0.5rem;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0.5rem;\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0.5rem;\n    border-bottom-right-radius: 0.5rem;\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --dropdown-zindex: 1000;\n    --dropdown-gap: 0.125rem;\n    --dropdown-min-width: 10rem;\n    --dropdown-padding-x: 0.25rem;\n    --dropdown-padding-y: 0.25rem;\n    --dropdown-spacer: 0.125rem;\n    --dropdown-font-size: 14px;\n    --dropdown-color: var(--fg-body);\n    --dropdown-bg: var(--bg-body);\n    --dropdown-border-color: var(--border-color-translucent);\n    --dropdown-border-radius: var(--border-radius-lg);\n    --dropdown-border-width: var(--border-width);\n    --dropdown-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --dropdown-divider-bg: var(--border-color-translucent);\n    --dropdown-divider-margin-y: 0.125rem;\n    --dropdown-divider-margin-x: 0.25rem;\n    --dropdown-box-shadow: var(--box-shadow);\n    --dropdown-link-color: var(--fg-body);\n    --dropdown-link-hover-color: var(--fg-body);\n    --dropdown-link-hover-bg: var(--bg-1);\n    --dropdown-link-active-color: var(--primary-contrast);\n    --dropdown-link-active-bg: var(--primary-bg);\n    --dropdown-link-disabled-color: var(--fg-3);\n    --dropdown-item-gap: 0.5rem;\n    --dropdown-item-padding-x: 0.75rem;\n    --dropdown-item-padding-y: 0.25rem;\n    --dropdown-item-border-radius: var(--border-radius);\n    --dropdown-header-color: var(--gray-600);\n    --dropdown-header-padding-x: 0.75rem;\n    --dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0;\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    border-radius: var(--dropdown-border-radius);\n    box-shadow: var(--dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--dropdown-link-active-color);\n    background-color: var(--dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n  .dropdown-menu-dark {\n    --dropdown-color: var(--gray-300);\n    --dropdown-bg: var(--gray-900);\n    --dropdown-border-color: var(--border-color-translucent);\n    --dropdown-box-shadow: ;\n    --dropdown-link-color: var(--gray-300);\n    --dropdown-link-hover-color: #fff;\n    --dropdown-divider-bg: var(--border-color-translucent);\n    --dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n    --dropdown-link-active-color: var(--primary-contrast);\n    --dropdown-link-active-bg: var(--primary-bg);\n    --dropdown-link-disabled-color: var(--gray-500);\n    --dropdown-header-color: var(--gray-500);\n  }\n  .dropdown-submenu {\n    position: relative;\n  }\n  .dropdown-submenu > .dropdown-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .dropdown-submenu > .dropdown-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .dropdown-submenu > .dropdown-item::after {\n    transform: rotate(135deg);\n  }\n  .dropdown-submenu > .dropdown-menu {\n    top: 0;\n    margin-top: calc(-1 * var(--dropdown-padding-y));\n  }\n  .dropdown-submenu:hover > .dropdown-item, .dropdown-submenu:focus-within > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-submenu.show > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--color-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--secondary-color);\n    --list-group-action-hover-color: var(--emphasis-color);\n    --list-group-action-hover-bg: var(--tertiary-bg);\n    --list-group-action-active-color: var(--color-body);\n    --list-group-action-active-bg: var(--secondary-bg);\n    --list-group-disabled-color: var(--secondary-color);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-padding-x: 1rem;\n    --nav-link-padding-y: 0.5rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--emphasis-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--emphasis-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: 17.5px;\n    --navbar-brand-color: var(--fg);\n    --navbar-brand-hover-color: var(--fg);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: 17.5px;\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --navbar-toggler-border-color: rgba(var(--emphasis-color-rgb), 0.15);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent;\n    border: var(--border-width) solid var(--navbar-toggler-border-color);\n    border-radius: var(--navbar-toggler-border-radius);\n    transition: var(--navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus-visible {\n    text-decoration: none;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: rgba(255, 255, 255, 0.55);\n    --navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --navbar-active-color: #fff;\n    --navbar-brand-color: #fff;\n    --navbar-brand-hover-color: #fff;\n    --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --offcanvas-zindex: 1045;\n  --offcanvas-width: 400px;\n  --offcanvas-height: 30vh;\n  --offcanvas-padding-x: 1rem;\n  --offcanvas-padding-y: 1rem;\n  --offcanvas-color: var(--color-body);\n  --offcanvas-bg: var(--bg-body);\n  --offcanvas-border-width: var(--border-width);\n  --offcanvas-border-color: var(--border-color-translucent);\n  --offcanvas-box-shadow: var(--box-shadow-sm);\n  --offcanvas-transition: transform 0.3s ease-in-out;\n  --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--offcanvas-color);\n    visibility: hidden;\n    background-color: var(--offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--offcanvas-box-shadow);\n    transition: var(--offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--offcanvas-width);\n    border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--offcanvas-width);\n    border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-padding-x: 0.75rem;\n    --pagination-padding-y: 0.375rem;\n    --pagination-font-size: 14px;\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--tertiary-bg);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--secondary-bg);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--secondary-color);\n    --pagination-disabled-bg: var(--secondary-bg);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-lg {\n    --pagination-padding-x: 1.5rem;\n    --pagination-padding-y: 0.75rem;\n    --pagination-font-size: 17.5px;\n    --pagination-border-radius: var(--border-radius-lg);\n  }\n  .pagination-sm {\n    --pagination-padding-x: 0.5rem;\n    --pagination-padding-y: 0.25rem;\n    --pagination-font-size: 12.25px;\n    --pagination-border-radius: var(--border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: 0.5;\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: 0.2;\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: 14px;\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--color-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: 10.5px;\n    --progress-bg: var(--secondary-bg);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: #fff;\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: 1s linear infinite progress-bar-stripes;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: 0.2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 0.75rem;\n    --toast-padding-y: 0.5rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: 0.875rem;\n    --toast-color: ;\n    --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-border-radius: var(--border-radius);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--secondary-color);\n    --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-header-border-color: var(--border-color-translucent);\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n    border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n$body-color:                var(--color-body) !default;\n$body-bg:                   var(--bg-body) !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  $body-color !default;\n$mark-bg:                     var(--yellow-100) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--color-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 var(--gray-700) !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    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    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// 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: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--color-body) !default;\n$table-bg:                    var(--bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--border-width) !default;\n$table-border-color:          var(--border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --table-color: #{$table-color};\n    --table-bg: #{$table-bg};\n    --table-border-color: #{$table-border-color};\n    --table-accent-bg: #{$table-accent-bg};\n    --table-striped-color: #{$table-striped-color};\n    --table-striped-bg: #{$table-striped-bg};\n    --table-active-color: #{$table-active-color};\n    --table-active-bg: #{$table-active-bg};\n    --table-hover-color: #{$table-hover-color};\n    --table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--bg-body) !default;\n$thumbnail-border-width:            var(--border-width) !default;\n$thumbnail-border-color:            var(--border-color) !default;\n$thumbnail-border-radius:           var(--border-radius) !default;\n$thumbnail-box-shadow:              var(--box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not([class]) {\n        margin-top: 0;\n        margin-bottom: calc(var(--content-gap) / -2);\n        font-weight: 500;\n        line-height: 1.25;\n\n        code {\n          font-weight: 600;\n          color: inherit;\n        }\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    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    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    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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n@use \"../buttons/button-variables\" as *; // mdo-do: remove?\n\n@layer forms {\n  .form-control {\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n    --control-select-bg-color: #{$control-select-indicator-color};\n    --control-select-bg: #{escape-svg($control-select-indicator)};\n    --control-select-bg-position: #{$control-select-bg-position};\n    --control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      height: if(sass(math.unit($input-line-height) == \"\"): $input-line-height * 1em; else: $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: $input-padding-y 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n  .form-control-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n$control-min-height: 2.5rem !default;\n$control-min-height-sm: 2rem !default;\n$control-min-height-lg: 3rem !default;\n$control-padding-y: .375rem !default;\n$control-padding-x: .75rem !default;\n$control-font-size: $font-size-base !default;\n$control-line-height: $line-height-base !default;\n$control-color: var(--color-body) !default;\n$control-bg: var(--bg-body) !default;\n$control-border-width: var(--border-width) !default;\n$control-border-color: var(--border-color) !default;\n$control-border-radius: var(--border-radius) !default;\n\n$control-padding-y-sm: .25rem !default;\n$control-padding-x-sm: .5rem !default;\n$control-font-size-sm: $font-size-sm !default;\n$control-line-height-sm: $line-height-sm !default;\n$control-border-radius-sm: var(--border-radius-sm) !default;\n\n$control-padding-y-lg: .5rem !default;\n$control-padding-x-lg: 1rem !default;\n$control-font-size-lg: $font-size-lg !default;\n$control-line-height-lg: $line-height-lg !default;\n$control-border-radius-lg: var(--border-radius-lg) !default;\n\n$control-select-indicator-color:       var(--gray-600) !default;\n$control-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n$control-select-bg-position:           right $control-padding-x center !default;\n$control-select-bg-size:               16px 12px !default;\n\n$control-select-indicator-color-dark:  #fff !default;\n$control-select-indicator-dark:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n// $input-btn-font-family:       null !default;\n$input-btn-font-size:         $font-size-base !default;\n$input-btn-line-height:       $line-height-base !default;\n\n// $input-btn-focus-width:         $focus-ring-width !default;\n// $input-btn-focus-color-opacity: $focus-ring-opacity !default;\n// $input-btn-focus-color:         $focus-ring-color !default;\n// $input-btn-focus-blur:          $focus-ring-blur !default;\n// $input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-font-size-sm:      $font-size-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-font-size-lg:      $font-size-lg !default;\n\n// $input-btn-border-width:      var(--border-width) !default;\n// scss-docs-end input-btn-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y:                       $input-btn-padding-y !default;\n$input-padding-x:                       $input-btn-padding-x !default;\n// $input-font-family:                     $input-btn-font-family !default;\n$input-font-size:                       $input-btn-font-size !default;\n// $input-font-weight:                     $font-weight-base !default;\n$input-line-height:                     $input-btn-line-height !default;\n\n$input-padding-y-sm:                    $input-btn-padding-y-sm !default;\n$input-padding-x-sm:                    $input-btn-padding-x-sm !default;\n$input-font-size-sm:                    $input-btn-font-size-sm !default;\n\n$input-padding-y-lg:                    $input-btn-padding-y-lg !default;\n$input-padding-x-lg:                    $input-btn-padding-x-lg !default;\n$input-font-size-lg:                    $input-btn-font-size-lg !default;\n\n$input-bg:                              var(--bg-body) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--color-body) !default;\n$input-border-color:                    var(--border-color) !default;\n$input-border-width:                    var(--border-width) !default;\n$input-box-shadow:                      var(--box-shadow-inset) !default;\n\n$input-border-radius:                   var(--border-radius) !default;\n$input-border-radius-sm:                var(--border-radius-sm) !default;\n$input-border-radius-lg:                var(--border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              var(--primary-border) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               var(--secondary-color) !default;\n$input-plaintext-color:                 var(--color-body) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default;\n\n$input-height-inner:                    add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half:               add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter:            add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n// $input-height:                          add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n// $input-height-sm:                       add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n// $input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n$input-height:                          2.5rem !default;\n$input-height-sm:                       2rem !default;\n$input-height-lg:                       3rem !default;\n\n$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width:                      3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           $font-size-sm !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success) !default;\n$form-feedback-invalid-color:       var(--danger) !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--success),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--danger),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--border-color) !default;\n$check-checked-bg: var(--primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --check-bg: transparent;\n    --check-border-color: #{$check-border-color};\n    --check-checked-bg: #{$check-checked-bg};\n    --check-checked-border-color: #{$check-checked-border-color};\n    --check-indeterminate-bg: #{$check-indeterminate-bg};\n    --check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --check-disabled-bg: #{$check-disabled-bg};\n    --check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--border-color) !default;\n$radio-checked-bg: var(--primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --radio-bg: transparent;\n    --radio-border-color: #{$radio-border-color};\n    --radio-checked-bg: #{$radio-checked-bg};\n    --radio-checked-border-color: #{$radio-checked-border-color};\n    --radio-disabled-bg: #{$radio-disabled-bg};\n    --radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--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-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(#{$form-range-thumb-height} + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: rgba(var(--body-color-rgb), #{$form-floating-label-opacity});\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start strength-variables\n$strength-height:          .375rem !default;\n$strength-gap:             .25rem !default;\n$strength-margin-top:      .25rem !default;\n$strength-border-radius:   var(--border-radius-pill) !default;\n$strength-bg:              var(--bg-2) !default;\n$strength-transition:      background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n$strength-weak-color:      var(--danger-bg) !default;\n$strength-fair-color:      var(--warning-bg) !default;\n$strength-good-color:      var(--info-bg) !default;\n$strength-strong-color:    var(--success-bg) !default;\n// scss-docs-end strength-variables\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    --strength-height: #{$strength-height};\n    --strength-gap: #{$strength-gap};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: #{$strength-bg};\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: $strength-margin-top;\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  // Strength levels - set the color variable\n  .strength[data-bs-strength=\"weak\"] {\n    --strength-color: #{$strength-weak-color};\n  }\n\n  .strength[data-bs-strength=\"fair\"] {\n    --strength-color: #{$strength-fair-color};\n  }\n\n  .strength[data-bs-strength=\"good\"] {\n    --strength-color: #{$strength-good-color};\n  }\n\n  .strength[data-bs-strength=\"strong\"] {\n    --strength-color: #{$strength-strong-color};\n  }\n\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: $strength-margin-top;\n    font-size: $small-font-size;\n    color: var(--strength-color, var(--secondary-color));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    --strength-height: #{$strength-height};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: $strength-margin-top;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    &[data-bs-strength=\"weak\"] {\n      --strength-color: #{$strength-weak-color};\n      --strength-width: 25%;\n    }\n\n    &[data-bs-strength=\"fair\"] {\n      --strength-color: #{$strength-fair-color};\n      --strength-width: 50%;\n    }\n\n    &[data-bs-strength=\"good\"] {\n      --strength-color: #{$strength-good-color};\n      --strength-width: 75%;\n    }\n\n    &[data-bs-strength=\"strong\"] {\n      --strength-color: #{$strength-strong-color};\n      --strength-width: 100%;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start otp-input-variables\n$otp-input-size:              3rem !default;\n$otp-input-size-sm:           2.25rem !default;\n$otp-input-size-lg:           3.5rem !default;\n$otp-input-font-size:         $font-size-lg !default;\n$otp-input-font-size-sm:      $font-size-base !default;\n$otp-input-font-size-lg:      $font-size-lg * 1.25 !default;\n$otp-input-gap:               .5rem !default;\n// scss-docs-end otp-input-variables\n\n@layer forms {\n  .otp {\n    --otp-size: #{$otp-input-size};\n    --otp-font-size: #{$otp-input-font-size};\n    --otp-gap: #{$otp-input-gap};\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  .otp-sm {\n    --otp-size: #{$otp-input-size-sm};\n    --otp-font-size: #{$otp-input-font-size-sm};\n  }\n\n  .otp-lg {\n    --otp-size: #{$otp-input-size-lg};\n    --otp-font-size: #{$otp-input-font-size-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-adorn-variables\n$form-adorn-gap:           .375rem !default;\n$form-adorn-icon-size:     1rem !default;\n$form-adorn-icon-color:    var(--fg-2) !default;\n// scss-docs-end form-adorn-variables\n\n@layer forms {\n  .form-adorn {\n    // Inherit form-control CSS variables for sizing\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Adorn-specific variables\n    --form-adorn-gap: #{$form-adorn-gap};\n    --form-adorn-icon-size: #{$form-adorn-icon-size};\n    --form-adorn-icon-color: #{$form-adorn-icon-color};\n\n    // Flexbox layout\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Replicate .form-control styles on the wrapper\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n\n    // Adornment at end (right in LTR) - input comes first visually\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n\n  // Sizing variants\n  .form-adorn-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-adorn-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 var(--font-size-sm) !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--bg-body) !default;\n$tooltip-bg:                        var(--fg-body) !default;\n$tooltip-border-radius:             var(--border-radius) !default;\n$tooltip-opacity:                   .95 !default;\n$tooltip-padding-y:                 $spacer * .375 !default;\n$tooltip-padding-x:                 $spacer * .75 !default;\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size:     $tooltip-font-size !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n@layer components {\n  .tooltip {\n    // scss-docs-start tooltip-css-vars\n    --tooltip-zindex: #{$zindex-tooltip};\n    --tooltip-max-width: #{$tooltip-max-width};\n    --tooltip-padding-x: #{$tooltip-padding-x};\n    --tooltip-padding-y: #{$tooltip-padding-y};\n    --tooltip-font-size: #{$tooltip-font-size};\n    --tooltip-color: #{$tooltip-color};\n    --tooltip-bg: #{$tooltip-bg};\n    --tooltip-border-radius: #{$tooltip-border-radius};\n    --tooltip-opacity: #{$tooltip-opacity};\n    --tooltip-arrow-width: #{$tooltip-arrow-width};\n    --tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: #{$btn-padding-x};\n    --btn-padding-y: #{$btn-padding-y};\n    // --btn-font-family: #{$btn-font-family};\n    --btn-font-size: #{$btn-font-size};\n    --btn-font-weight: #{$btn-font-weight};\n    --btn-line-height: #{$btn-line-height};\n    --btn-color: #{$btn-color};\n    --btn-border-width: #{$btn-border-width};\n    --btn-border-color: transparent;\n    --btn-border-radius: #{$btn-border-radius};\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: $btn-white-space;\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --btn-font-weight: #{$font-weight-normal};\n    --btn-color: #{$btn-link-color};\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: #{$btn-link-hover-color};\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: #{$btn-link-hover-color};\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: #{$btn-link-disabled-color};\n    --btn-disabled-border-color: transparent;\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: #{map.get($properties, \"min-height\")};\n      --btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --btn-font-size: #{map.get($properties, \"font-size\")};\n      --btn-line-height: #{map.get($properties, \"line-height\")};\n      --btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-lg * .75;\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --btn-close-size: #{$btn-close-size};\n    --btn-close-color: #{$btn-close-color};\n    --btn-close-opacity: #{$btn-close-opacity};\n    --btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--color-body) !default;\n$accordion-bg:                            var(--bg-body) !default;\n$accordion-border-width:                  var(--border-width) !default;\n$accordion-border-color:                  var(--border-color) !default;\n$accordion-border-radius:                 var(--border-radius-lg) !default;\n$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;\n\n$accordion-body-padding-y:                $accordion-padding-y !default;\n$accordion-body-padding-x:                $accordion-padding-x !default;\n\n$accordion-button-padding-y:              $accordion-padding-y !default;\n$accordion-button-padding-x:              $accordion-padding-x !default;\n$accordion-button-color:                  var(--fg-2) !default;\n$accordion-button-bg:                     var(--accordion-bg) !default;\n$accordion-transition:                    color .15s ease-in-out, background-color .15s ease-in-out, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--bg-2) !default;\n$accordion-button-active-color:           var(--fg) !default;\n\n$accordion-icon-width:                    1rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n// scss-docs-end accordion-variables\n\n@layer components {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --accordion-color: #{$accordion-color};\n    --accordion-bg: #{$accordion-bg};\n    --accordion-transition: #{$accordion-transition};\n    --accordion-border-color: #{$accordion-border-color};\n    --accordion-border-width: #{$accordion-border-width};\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    // --accordion-border-radius: #{$accordion-border-radius};\n    // --accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --accordion-btn-color: #{$accordion-button-color};\n    --accordion-btn-bg: #{$accordion-button-bg};\n    --accordion-btn-icon-width: #{$accordion-icon-width};\n    --accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --accordion-body-padding-x: #{$accordion-body-padding-x};\n    --accordion-body-padding-y: #{$accordion-body-padding-y};\n    --accordion-active-color: #{$accordion-button-active-color};\n    --accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);\n    font-size: $font-size-base;\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    // @include border-radius(var(--accordion-border-radius));\n    @include transition(var(--accordion-transition));\n\n    // Hide the default marker in webkit browsers\n    // &::-webkit-details-marker {\n    //   display: none;\n    // }\n\n    // Icon styles\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-gap:                     $spacer * .75 !default;\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-border-radius:           var(--border-radius) !default;\n$alert-link-font-weight:        $font-weight-semibold !default;\n$alert-border-width:            var(--border-width) !default;\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --alert-gap: #{$alert-gap};\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: #{$alert-padding-x};\n    --alert-padding-y: #{$alert-padding-y};\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: #{$alert-border-width} solid var(--alert-border-color);\n    --alert-border-radius: #{$alert-border-radius};\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    // scss-docs-end alert-css-vars\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   clamp(12px, .75em, .75em) !default;\n$badge-font-weight:                 $font-weight-semibold !default;\n$badge-color:                       inherit !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .625em !default;\n$badge-border-radius:               var(--border-radius-lg) !default;\n// scss-docs-end badge-variables\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --badge-padding-x: #{$badge-padding-x};\n    --badge-padding-y: #{$badge-padding-y};\n    --badge-font-size: #{$badge-font-size};\n    --badge-font-weight: #{$badge-font-weight};\n    --badge-color: #{$badge-color};\n    --badge-bg: var(--bg-2);\n    --badge-border-width: #{$border-width};\n    --badge-border-color: transparent;\n    --badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size:              null !default;\n$breadcrumb-padding-y:              0 !default;\n$breadcrumb-padding-x:              0 !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--fg-4) !default;\n$breadcrumb-border-radius:          var(--border-radius) !default;\n\n$breadcrumb-link-padding-x:         .75rem !default;\n$breadcrumb-link-padding-y:         .25rem !default;\n$breadcrumb-link-color:             var(--fg-3) !default;\n$breadcrumb-link-hover-color:       var(--fg-2) !default;\n$breadcrumb-link-hover-bg:          var(--bg-1) !default;\n$breadcrumb-link-active-color:      var(--fg-1) !default;\n$breadcrumb-link-border-radius:     var(--border-radius-lg) !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    --breadcrumb-font-size: #{$breadcrumb-font-size};\n    --breadcrumb-bg: #{$breadcrumb-bg};\n    --breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --breadcrumb-link-padding-x: #{$breadcrumb-link-padding-x};\n    --breadcrumb-link-padding-y: #{$breadcrumb-link-padding-y};\n    --breadcrumb-link-color: #{$breadcrumb-link-color};\n    --breadcrumb-link-hover-color: #{$breadcrumb-link-hover-color};\n    --breadcrumb-link-hover-bg: #{$breadcrumb-link-hover-bg};\n    --breadcrumb-link-active-color: #{$breadcrumb-link-active-color};\n    --breadcrumb-link-border-radius: #{$breadcrumb-link-border-radius};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--border-width) !default;\n$card-border-color:                 var(--border-color-translucent) !default;\n$card-border-radius:                var(--border-radius-lg) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-padding-y:                $card-spacer-y * .75 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       var(--bg-1) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--bg-body) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n\n$card-body-gap:                     $card-spacer-y * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --card-spacer-y: #{$card-spacer-y};\n    --card-spacer-x: #{$card-spacer-x};\n    --card-subtitle-color: #{$card-subtitle-color};\n    --card-border-width: #{$card-border-width};\n    --card-border-color: #{$card-border-color};\n    --card-border-radius: #{$card-border-radius};\n    --card-box-shadow: #{$card-box-shadow};\n    --card-inner-border-radius: #{$card-inner-border-radius};\n    --card-cap-padding-y: #{$card-cap-padding-y};\n    --card-cap-padding-x: #{$card-cap-padding-x};\n    --card-cap-bg: #{$card-cap-bg};\n    --card-cap-color: #{$card-cap-color};\n    --card-height: #{$card-height};\n    --card-color: #{$card-color};\n    --card-bg: #{$card-bg};\n    --card-img-overlay-padding: #{$card-img-overlay-padding};\n    --card-group-margin: #{$card-group-margin};\n    --card-body-gap: #{$card-body-gap};\n    // scss-docs-end card-css-vars\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--color-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-variables\n$carousel-control-color:             $white !default;\n$carousel-control-width:             15% !default;\n$carousel-control-opacity:           .5 !default;\n$carousel-control-hover-opacity:     .9 !default;\n$carousel-control-transition:        opacity .15s ease !default;\n$carousel-control-icon-filter:       null !default;\n\n$carousel-indicator-width:           30px !default;\n$carousel-indicator-height:          3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer:          3px !default;\n$carousel-indicator-opacity:         .5 !default;\n$carousel-indicator-active-bg:       $white !default;\n$carousel-indicator-active-opacity:  1 !default;\n$carousel-indicator-transition:      opacity .6s ease !default;\n\n$carousel-caption-width:             70% !default;\n$carousel-caption-color:             $white !default;\n$carousel-caption-padding-y:         1.25rem !default;\n$carousel-caption-spacer:            1.25rem !default;\n\n$carousel-control-icon-width:        2rem !default;\n\n$carousel-control-prev-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\") !default;\n$carousel-control-next-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\") !default;\n\n$carousel-transition-duration:       .6s !default;\n$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-indicator-active-bg-dark:   $black !default;\n$carousel-caption-color-dark:         $black !default;\n$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition($carousel-transition);\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s $carousel-transition-duration);\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: $carousel-control-width;\n    padding: 0;\n    color: $carousel-control-color;\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: $carousel-control-opacity;\n    @include transition($carousel-control-transition);\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: $carousel-control-color;\n      text-decoration: none;\n      outline: 0;\n      opacity: $carousel-control-hover-opacity;\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: $carousel-control-icon-width;\n    height: $carousel-control-icon-width;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: $carousel-control-width;\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: $carousel-indicator-width;\n      height: $carousel-indicator-height;\n      padding: 0;\n      margin-inline: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: $carousel-indicator-hit-area-height solid transparent;\n      opacity: $carousel-indicator-opacity;\n      @include transition($carousel-indicator-transition);\n    }\n\n    .active {\n      opacity: $carousel-indicator-active-opacity;\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: (100% - $carousel-caption-width) * .5;\n    bottom: $carousel-caption-spacer;\n    left: (100% - $carousel-caption-width) * .5;\n    padding-top: $carousel-caption-padding-y;\n    padding-bottom: $carousel-caption-padding-y;\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --carousel-caption-color: #{$carousel-caption-color-dark};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --carousel-caption-color: #{$carousel-caption-color};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start datepicker-variables\n$datepicker-padding:                1rem !default;\n$datepicker-bg:                     var(--bg-body) !default;\n$datepicker-color:                  var(--fg-body) !default;\n$datepicker-border-color:           var(--border-color-translucent) !default;\n$datepicker-border-width:           var(--border-width) !default;\n$datepicker-border-radius:          var(--border-radius-lg) !default;\n$datepicker-box-shadow:             var(--box-shadow) !default;\n$datepicker-font-size:              var(--font-size-sm) !default;\n$datepicker-min-width:              280px !default;\n\n$datepicker-header-font-weight:     600 !default;\n$datepicker-weekday-color:          var(--fg-3) !default;\n$datepicker-day-hover-bg:           var(--bg-1) !default;\n$datepicker-day-selected-bg:        var(--primary-bg) !default;\n$datepicker-day-selected-color:     var(--primary-contrast) !default;\n$datepicker-day-today-bg:           var(--bg-2) !default;\n$datepicker-day-today-color:        var(--fg-1) !default;\n$datepicker-day-disabled-color:     var(--fg-4) !default;\n// scss-docs-end datepicker-variables\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    // scss-docs-start datepicker-css-vars\n    --datepicker-padding: #{$datepicker-padding};\n    --datepicker-bg: #{$datepicker-bg};\n    --datepicker-color: #{$datepicker-color};\n    --datepicker-border-color: #{$datepicker-border-color};\n    --datepicker-border-width: #{$datepicker-border-width};\n    --datepicker-border-radius: #{$datepicker-border-radius};\n    --datepicker-box-shadow: #{$datepicker-box-shadow};\n    --datepicker-font-size: #{$datepicker-font-size};\n    --datepicker-min-width: #{$datepicker-min-width};\n    --datepicker-zindex: #{$zindex-dropdown};\n\n    --datepicker-header-font-weight: #{$datepicker-header-font-weight};\n    --datepicker-weekday-color: #{$datepicker-weekday-color};\n    --datepicker-day-hover-bg: #{$datepicker-day-hover-bg};\n    --datepicker-day-selected-bg: #{$datepicker-day-selected-bg};\n    --datepicker-day-selected-color: #{$datepicker-day-selected-color};\n    --datepicker-day-today-bg: #{$datepicker-day-today-bg};\n    --datepicker-day-today-color: #{$datepicker-day-today-color};\n    --datepicker-day-disabled-color: #{$datepicker-day-disabled-color};\n    // scss-docs-end datepicker-css-vars\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: $border-radius;\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: $border-radius;\n    border-end-start-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: $border-radius;\n    border-end-end-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: $border-radius;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: $border-radius;\n    border-bottom-right-radius: $border-radius;\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// scss-docs-start dialog-css-vars\n$dialog-padding:                1rem !default;\n$dialog-width:                  500px !default;\n$dialog-width-sm:               280px !default;\n$dialog-width-lg:               800px !default;\n$dialog-width-xl:               1140px !default;\n$dialog-margin:                 1.75rem !default;\n$dialog-color:                  var(--fg-body) !default;\n$dialog-bg:                     var(--bg-body) !default;\n$dialog-border-color:           var(--border-color-translucent) !default;\n$dialog-border-width:           var(--border-width) !default;\n$dialog-border-radius:          var(--border-radius-lg) !default;\n$dialog-box-shadow:             var(--box-shadow-lg) !default;\n$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;\n$dialog-header-padding:         1rem !default;\n$dialog-header-border-color:    var(--border-color) !default;\n$dialog-header-border-width:    var(--border-width) !default;\n$dialog-footer-padding:         1rem !default;\n$dialog-footer-border-color:    var(--border-color) !default;\n$dialog-footer-border-width:    var(--border-width) !default;\n$dialog-footer-gap:             .5rem !default;\n// scss-docs-end dialog-css-vars\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    --dialog-padding: #{$dialog-padding};\n    --dialog-width: #{$dialog-width};\n    --dialog-margin: #{$dialog-margin};\n    --dialog-color: #{$dialog-color};\n    --dialog-bg: #{$dialog-bg};\n    --dialog-border-color: #{$dialog-border-color};\n    --dialog-border-width: #{$dialog-border-width};\n    --dialog-border-radius: #{$dialog-border-radius};\n    --dialog-box-shadow: #{$dialog-box-shadow};\n    --dialog-backdrop-bg: #{$dialog-backdrop-bg};\n    --dialog-header-padding: #{$dialog-header-padding};\n    --dialog-header-border-color: #{$dialog-header-border-color};\n    --dialog-header-border-width: #{$dialog-header-border-width};\n    --dialog-footer-padding: #{$dialog-footer-padding};\n    --dialog-footer-border-color: #{$dialog-footer-border-color};\n    --dialog-footer-border-width: #{$dialog-footer-border-width};\n    --dialog-footer-gap: #{$dialog-footer-gap};\n\n    // Reset native dialog styles\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  .dialog-sm { --dialog-width: #{$dialog-width-sm}; }\n  .dialog-lg { --dialog-width: #{$dialog-width-lg}; }\n  .dialog-xl { --dialog-width: #{$dialog-width-xl}; }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-gap:                      $spacer * .125 !default;\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                .25rem !default;\n$dropdown-padding-y:                .25rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--fg-body) !default;\n$dropdown-bg:                       var(--bg-body) !default;\n$dropdown-border-color:             var(--border-color-translucent) !default;\n$dropdown-border-radius:            var(--border-radius-lg) !default;\n$dropdown-border-width:             var(--border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-box-shadow:               var(--box-shadow) !default;\n\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .125 !default;\n$dropdown-divider-margin-x:         $spacer * .25 !default;\n\n$dropdown-link-color:               var(--fg-body) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--bg-1) !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      var(--fg-3) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer * .75 !default;\n$dropdown-item-border-radius:       var(--border-radius) !default;\n$dropdown-item-gap:                 $spacer * .5 !default;\n\n$dropdown-header-color:             var(--gray-600) !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               var(--gray-300) !default;\n$dropdown-dark-bg:                  var(--gray-900) !default;\n$dropdown-dark-border-color:        $dropdown-border-color !default;\n$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow:          null !default;\n$dropdown-dark-link-color:          $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color:    $white !default;\n$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;\n$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: var(--gray-500) !default;\n$dropdown-dark-header-color:        var(--gray-500) !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropdown {\n    position: relative;\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --dropdown-zindex: #{$zindex-dropdown};\n    --dropdown-gap: #{$dropdown-gap};\n    --dropdown-min-width: #{$dropdown-min-width};\n    --dropdown-padding-x: #{$dropdown-padding-x};\n    --dropdown-padding-y: #{$dropdown-padding-y};\n    --dropdown-spacer: #{$dropdown-spacer};\n    --dropdown-font-size: #{$dropdown-font-size};\n    --dropdown-color: #{$dropdown-color};\n    --dropdown-bg: #{$dropdown-bg};\n    --dropdown-border-color: #{$dropdown-border-color};\n    --dropdown-border-radius: #{$dropdown-border-radius};\n    --dropdown-border-width: #{$dropdown-border-width};\n    --dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --dropdown-divider-bg: #{$dropdown-divider-bg};\n    --dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --dropdown-divider-margin-x: #{$dropdown-divider-margin-x};\n    --dropdown-box-shadow: #{$dropdown-box-shadow};\n    --dropdown-link-color: #{$dropdown-link-color};\n    --dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --dropdown-item-gap: #{$dropdown-item-gap};\n    --dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --dropdown-item-border-radius: #{$dropdown-item-border-radius};\n    --dropdown-header-color: #{$dropdown-header-color};\n    --dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    @include border-radius(var(--dropdown-border-radius));\n    @include box-shadow(var(--dropdown-box-shadow));\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--dropdown-inner-border-radius));\n      }\n    }\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\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: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--dropdown-link-hover-color);\n      @include gradient-bg(var(--dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--dropdown-link-active-color);\n      @include gradient-bg(var(--dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  // Dropdown text\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --dropdown-color: #{$dropdown-dark-color};\n    --dropdown-bg: #{$dropdown-dark-bg};\n    --dropdown-border-color: #{$dropdown-dark-border-color};\n    --dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --dropdown-link-color: #{$dropdown-dark-link-color};\n    --dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n\n  // scss-docs-start dropdown-submenu\n  // Submenus\n  //\n  // Nested dropdown menus with hover/click activation and keyboard support.\n\n  .dropdown-submenu {\n    position: relative;\n\n    // Submenu trigger styling\n    > .dropdown-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    // Submenu caret indicator\n    > .dropdown-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      // RTL: flip the chevron direction\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    // Submenu positioning (set by JS via Floating UI)\n    > .dropdown-menu {\n      top: 0;\n      // Offset to align with parent item\n      margin-top: calc(-1 * var(--dropdown-padding-y));\n    }\n\n    // Hover state for submenu trigger\n    &:hover > .dropdown-item,\n    &:focus-within > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n\n    // Active/open state\n    &.show > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n  }\n  // scss-docs-end dropdown-submenu\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--color-body) !default;\n$list-group-bg:                     var(--bg-body) !default;\n$list-group-border-color:           var(--border-color) !default;\n$list-group-border-width:           var(--border-width) !default;\n$list-group-border-radius:          var(--border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n\n$list-group-hover-bg:               var(--tertiary-bg) !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         var(--secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--secondary-color) !default;\n$list-group-action-hover-color:     var(--emphasis-color) !default;\n\n$list-group-action-active-color:    var(--color-body) !default;\n$list-group-action-active-bg:       var(--secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n@layer components {\n  .list-group {\n    // scss-docs-start list-group-css-vars\n    --list-group-color: #{$list-group-color};\n    --list-group-bg: #{$list-group-bg};\n    --list-group-border-color: #{$list-group-border-color};\n    --list-group-border-width: #{$list-group-border-width};\n    --list-group-border-radius: #{$list-group-border-radius};\n    --list-group-item-padding-x: #{$list-group-item-padding-x};\n    --list-group-item-padding-y: #{$list-group-item-padding-y};\n    --list-group-action-color: #{$list-group-action-color};\n    --list-group-action-hover-color: #{$list-group-action-hover-color};\n    --list-group-action-hover-bg: #{$list-group-hover-bg};\n    --list-group-action-active-color: #{$list-group-action-active-color};\n    --list-group-action-active-bg: #{$list-group-action-active-bg};\n    --list-group-disabled-color: #{$list-group-disabled-color};\n    --list-group-disabled-bg: #{$list-group-disabled-bg};\n    --list-group-active-color: #{$list-group-active-color};\n    --list-group-active-bg: #{$list-group-active-bg};\n    --list-group-active-border-color: #{$list-group-active-border-color};\n    // scss-docs-end list-group-css-vars\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--fg-2) !default;\n$nav-link-hover-color:              var(--fg-1) !default;\n$nav-link-hover-bg:                 var(--bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--fg-4) !default;\n$nav-link-active-color:             var(--fg-body) !default;\n$nav-link-active-bg:                var(--bg-2) !default;\n\n$nav-tabs-border-color:             var(--border-color) !default;\n$nav-tabs-border-width:             var(--border-width) !default;\n$nav-tabs-border-radius:            var(--border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--border-subtle) !default;\n$nav-tabs-link-active-color:        var(--emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--bg-body) !default;\n$nav-tabs-link-active-border-color: var(--border-color) var(--border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--emphasis-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --nav-gap: #{$nav-gap};\n    --nav-link-gap: #{$nav-link-gap};\n    --nav-link-padding-x: #{$nav-link-padding-x};\n    --nav-link-padding-y: #{$nav-link-padding-y};\n    --nav-link-color: #{$nav-link-color};\n    --nav-link-hover-color: #{$nav-link-hover-color};\n    --nav-link-hover-bg: #{$nav-link-hover-bg};\n    --nav-link-active-color: #{$nav-link-active-color};\n    --nav-link-active-bg: #{$nav-link-active-bg};\n    --nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--border-radius));\n    // @include font-size(var(--nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --nav-tabs-border-width: #{$nav-tabs-border-width};\n    --nav-tabs-border-color: #{$nav-tabs-border-color};\n    --nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n      border: var(--nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --nav-gap: #{$nav-underline-gap};\n    --nav-link-active-bg: transparent;\n    // --nav-underline-gap: #{$nav-underline-gap};\n    --nav-underline-border-width: #{$nav-underline-border-width};\n    --nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      var(--border-radius) !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--fg-2) !default;\n$navbar-light-hover-color:          var(--fg-1) !default;\n$navbar-light-active-color:         var(--fg) !default;\n$navbar-light-disabled-color:       var(--fg-3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba(var(--emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    --navbar-padding-x: #{if(sass($navbar-padding-x == null): 0; else: $navbar-padding-x)};\n    --navbar-padding-y: #{$navbar-padding-y};\n    --navbar-color: #{$navbar-light-color};\n    --navbar-hover-color: #{$navbar-light-hover-color};\n    --navbar-disabled-color: #{$navbar-light-disabled-color};\n    --navbar-active-color: #{$navbar-light-active-color};\n    --navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --navbar-brand-font-size: #{$navbar-brand-font-size};\n    --navbar-brand-color: #{$navbar-light-brand-color};\n    --navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --nav-link-font-size);\n    // --nav-link-font-weight: #{$nav-link-font-weight};\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--border-width) solid var(--navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--navbar-toggler-border-radius));\n    @include transition(var(--navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus-visible {\n      text-decoration: none;\n      @include focus-ring(true);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --navbar-color: #{$navbar-dark-color};\n    --navbar-hover-color: #{$navbar-dark-hover-color};\n    --navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --navbar-active-color: #{$navbar-dark-active-color};\n    --navbar-brand-color: #{$navbar-dark-brand-color};\n    --navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --offcanvas-zindex: #{$zindex-offcanvas};\n  --offcanvas-width: #{$offcanvas-horizontal-width};\n  --offcanvas-height: #{$offcanvas-vertical-height};\n  --offcanvas-padding-x: #{$offcanvas-padding-x};\n  --offcanvas-padding-y: #{$offcanvas-padding-y};\n  --offcanvas-color: #{$offcanvas-color};\n  --offcanvas-bg: #{$offcanvas-bg-color};\n  --offcanvas-border-width: #{$offcanvas-border-width};\n  --offcanvas-border-color: #{$offcanvas-border-color};\n  --offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--offcanvas-box-shadow));\n        @include transition(var(--offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--offcanvas-width);\n          border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--offcanvas-width);\n          border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start pagination-variables\n$pagination-padding-y:              .375rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n\n$pagination-font-size:              $font-size-base !default;\n\n$pagination-color:                  var(--link-color) !default;\n$pagination-bg:                     var(--bg-body) !default;\n$pagination-border-radius:          var(--border-radius) !default;\n$pagination-border-width:           var(--border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--border-color) !default;\n\n$pagination-focus-color:            var(--link-hover-color) !default;\n$pagination-focus-bg:               var(--secondary-bg) !default;\n\n$pagination-hover-color:            var(--link-hover-color) !default;\n$pagination-hover-bg:               var(--tertiary-bg) !default;\n$pagination-hover-border-color:     var(--border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color:           $component-active-color !default;\n$pagination-active-bg:              $component-active-bg !default;\n$pagination-active-border-color:    $component-active-bg !default;\n\n$pagination-disabled-color:         var(--secondary-color) !default;\n$pagination-disabled-bg:            var(--secondary-bg) !default;\n$pagination-disabled-border-color:  var(--border-color) !default;\n\n$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm:       var(--border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --pagination-padding-x: #{$padding-x};\n  --pagination-padding-y: #{$padding-y};\n  --pagination-font-size: #{$font-size};\n  --pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    // scss-docs-start pagination-css-vars\n    --pagination-padding-x: #{$pagination-padding-x};\n    --pagination-padding-y: #{$pagination-padding-y};\n    --pagination-font-size: #{$pagination-font-size};\n    --pagination-color: #{$pagination-color};\n    --pagination-bg: #{$pagination-bg};\n    --pagination-border-width: #{$pagination-border-width};\n    --pagination-border-color: #{$pagination-border-color};\n    --pagination-border-radius: #{$pagination-border-radius};\n    --pagination-hover-color: #{$pagination-hover-color};\n    --pagination-hover-bg: #{$pagination-hover-bg};\n    --pagination-hover-border-color: #{$pagination-hover-border-color};\n    --pagination-focus-color: #{$pagination-focus-color};\n    --pagination-focus-bg: #{$pagination-focus-bg};\n    --pagination-active-color: #{$pagination-active-color};\n    --pagination-active-bg: #{$pagination-active-bg};\n    --pagination-active-border-color: #{$pagination-active-border-color};\n    --pagination-disabled-color: #{$pagination-disabled-color};\n    --pagination-disabled-bg: #{$pagination-disabled-bg};\n    --pagination-disabled-border-color: #{$pagination-disabled-border-color};\n    // scss-docs-end pagination-css-vars\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: $pagination-margin-start;\n    }\n\n    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {\n      &:first-child {\n        .page-link {\n          @include border-start-radius(var(--pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--pagination-border-radius));\n        }\n      }\n    } @else {\n      // Add border-radius to all pageLinks in case they have left margin\n      .page-link {\n        @include border-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n  }\n\n  .pagination-sm {\n    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholders\n$placeholder-opacity-max:           .5 !default;\n$placeholder-opacity-min:           .2 !default;\n// scss-docs-end placeholders\n\n\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: $placeholder-opacity-max;\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: $placeholder-opacity-min;\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 var(--font-size-sm) !default;\n$popover-bg:                        var(--bg-body) !default;\n$popover-max-width:                 280px !default;\n$popover-border-width:              var(--border-width) !default;\n$popover-border-color:              var(--border-color-translucent) !default;\n$popover-border-radius:             var(--border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--bg-1) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          $spacer * .75 !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--color-body) !default;\n$popover-body-padding-y:            $spacer * .75 !default;\n$popover-body-padding-x:            $spacer !default;\n\n$popover-arrow-width:               1rem !default;\n$popover-arrow-height:              .5rem !default;\n// scss-docs-end popover-variables\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    --popover-zindex: #{$zindex-popover};\n    --popover-max-width: #{$popover-max-width};\n    --popover-font-size: #{$popover-font-size};\n    --popover-bg: #{$popover-bg};\n    --popover-border-width: #{$popover-border-width};\n    --popover-border-color: #{$popover-border-color};\n    --popover-border-radius: #{$popover-border-radius};\n    --popover-inner-border-radius: #{$popover-inner-border-radius};\n    --popover-box-shadow: #{$popover-box-shadow};\n    --popover-header-padding-x: #{$popover-header-padding-x};\n    --popover-header-padding-y: #{$popover-header-padding-y};\n    --popover-header-font-size: #{$popover-header-font-size};\n    --popover-header-color: #{$popover-header-color};\n    --popover-header-bg: #{$popover-header-bg};\n    --popover-body-padding-x: #{$popover-body-padding-x};\n    --popover-body-padding-y: #{$popover-body-padding-y};\n    --popover-body-color: #{$popover-body-color};\n    --popover-arrow-width: #{$popover-arrow-width};\n    --popover-arrow-height: #{$popover-arrow-height};\n    --popover-arrow-border: var(--popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-variables\n$progress-height:                   1rem !default;\n$progress-font-size:                $font-size-base * .75 !default;\n$progress-bg:                       var(--secondary-bg) !default;\n$progress-border-radius:            var(--border-radius) !default;\n$progress-box-shadow:               var(--box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   var(--primary-bg) !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --progress-height: #{$progress-height};\n    --progress-font-size: #{$progress-font-size};\n    --progress-bg: #{$progress-bg};\n    --progress-border-radius: #{$progress-border-radius};\n    --progress-box-shadow: #{$progress-box-shadow};\n    --progress-bar-color: #{$progress-bar-color};\n    --progress-bar-bg: #{$progress-bar-bg};\n    --progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: $progress-bar-animation-timing progress-bar-stripes;\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start spinner-variables\n$spinner-width:           2rem !default;\n$spinner-height:          $spinner-width !default;\n$spinner-vertical-align:  -.125em !default;\n$spinner-border-width:    .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm:        1rem !default;\n$spinner-height-sm:       $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n//\n// Rotating border\n//\n\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-border-width: #{$spinner-border-width};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n    --spinner-border-width: #{$spinner-border-width-sm};\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    // scss-docs-start spinner-grow-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-grow;\n    // scss-docs-end spinner-grow-css-vars\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-variables\n$toast-max-width:                   350px !default;\n$toast-padding-x:                   .75rem !default;\n$toast-padding-y:                   .5rem !default;\n$toast-font-size:                   .875rem !default;\n$toast-color:                       null !default;\n$toast-background-color:            rgba(var(--body-bg-rgb), .85) !default;\n$toast-border-width:                var(--border-width) !default;\n$toast-border-color:                var(--border-color-translucent) !default;\n$toast-border-radius:               var(--border-radius) !default;\n$toast-box-shadow:                  var(--box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--secondary-color) !default;\n$toast-header-background-color:     rgba(var(--body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n@layer components {\n  .toast {\n    // scss-docs-start toast-css-vars\n    --toast-zindex: #{$zindex-toast};\n    --toast-padding-x: #{$toast-padding-x};\n    --toast-padding-y: #{$toast-padding-y};\n    --toast-spacing: #{$toast-spacing};\n    --toast-max-width: #{$toast-max-width};\n    --toast-font-size: #{$toast-font-size};\n    --toast-color: #{$toast-color};\n    --toast-bg: #{$toast-background-color};\n    --toast-border-width: #{$toast-border-width};\n    --toast-border-color: #{$toast-border-color};\n    --toast-border-radius: #{$toast-border-radius};\n    --toast-box-shadow: #{$toast-box-shadow};\n    --toast-header-color: #{$toast-header-color};\n    --toast-header-bg: #{$toast-header-background-color};\n    --toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 74bba24758a313d112c3176f00eccb6132335682..7da41578b2c03d06471c43e2a047a83bb10c4f79 100644 (file)
@@ -2,5 +2,5 @@
   * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)
   * Copyright 2011-2025 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));--bs-blue-500:oklch(60% 0.24 258deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{color-scheme:light;--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size:16px;--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:-1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger)}[data-bs-theme=dark]{color-scheme:dark;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300)}@layer reboot{*,::after,::before{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-color-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-block-start:var(--bs-border-width) solid;opacity:.25}.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;color:var(--bs-heading-color)}.h1,h1{font-size:var(--bs-font-size-3xl)}.h2,h2{font-size:var(--bs-font-size-2xl)}.h3,h3{font-size:var(--bs-font-size-xl)}.h4,h4{font-size:var(--bs-font-size-lg)}.h5,h5{font-size:var(--bs-font-size-md)}.h6,h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{-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-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:0.2em}a:hover{color:var(--bs-link-hover-color);-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}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:95%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:95%;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:95%;color:var(--bs-bg-body);background-color:var(--bs-color-body);border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-block:0.5rem;color:var(--bs-secondary-color);text-align:start}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:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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:inline-start;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:inline-start}::-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]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer content{.list-unstyled{padding-inline-start:0;list-style:none}.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:17.5px}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:var(--bs-gray-600)}.blockquote-footer::before{content:"— "}}@layer content{.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-color-body);--bs-table-bg:var(--bs-bg-body);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-color-body);--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) 5%, transparent);--bs-table-active-color:var(--bs-color-body);--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) 10%, transparent);--bs-table-hover-color:var(--bs-color-body);--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) 7.5%, transparent);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-theme-border,var(--bs-table-border-color))}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-theme-text, var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text, var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text, var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 10%, transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text, var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 7.5%, transparent)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (width < 576px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 768px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1024px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1280px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1536px){.table-responsive-2xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}}@layer content{.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-bg-body);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}}@layer content{.prose{--bs-content-font-size:var(--bs-font-size-sm);--bs-content-gap:20px;--bs-heading-color:light-dark(var(--bs-gray-900), var(--bs-white));position:relative;display:flex;flex-direction:column;gap:var(--bs-content-gap);max-width:1000px;margin-inline:auto;font-size:var(--bs-content-font-size);line-height:1.5}@media (width >= 1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose blockquote,.prose dl,.prose ol,.prose p,.prose pre,.prose table,.prose ul{margin-block:0}.prose :where(ul,ol):not([class]) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap)/ 4)}.prose li ol,.prose li ul{margin-top:calc(var(--bs-content-gap)/ 4)}.prose hr{margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:1px solid var(--bs-border-color)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:0;margin-bottom:calc(var(--bs-content-gap)/ -2);font-weight:500;line-height:1.25}.prose h1 code,.prose h2 code,.prose h3 code,.prose h4 code,.prose h5 code,.prose h6 code{font-weight:600;color:inherit}.prose h1:not(:first-child),.prose h2:not(:first-child){margin-top:calc(var(--bs-content-gap) * 1.5)}.prose h3:not(:first-child),.prose h4:not(:first-child),.prose h5:not(:first-child),.prose h6:not(:first-child){margin-top:calc(var(--bs-content-gap) * 1.25)}.prose h1{font-size:2.25em;line-height:1.1}.prose h2{font-size:1.75em}.prose h3{margin-bottom:calc(var(--bs-content-gap)/ 4);font-size:1.5em}.prose h4{font-size:1.25em}.prose h5{font-size:1.125em}.prose h6{font-size:1em}.prose a:not([class]){color:var(--bs-link-color);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--bs-link-color) 25%,transparent);text-underline-offset:4px;transition:.1s text-decoration-color ease-in-out}@media (prefers-reduced-motion:reduce){.prose a:not([class]){transition:none}}.prose a:not([class]):hover{text-decoration-color:var(--bs-link-hover-color)}.prose img{max-width:100%}.prose blockquote{padding-inline-start:calc(var(--bs-content-gap)/ 2);margin:0;border-inline-start:4px solid var(--bs-border-color)}.prose table{width:100%;border-spacing:0;border-collapse:collapse}.prose :where(table:not([class])) td,.prose :where(table:not([class])) th{padding:6px 12px;text-align:inherit;border:1px solid var(--bs-border-color)}.prose dt{font-weight:500}.prose img,.prose video{max-width:100%}}@layer layout{.container,.container-2xl,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-inline:auto}@media (width >= 576px){.container,.container-sm{max-width:540px}}@media (width >= 768px){.container,.container-md,.container-sm{max-width:720px}}@media (width >= 1024px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (width >= 1280px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}@media (width >= 1536px){.container,.container-2xl,.container-lg,.container-md,.container-sm,.container-xl{max-width:1440px}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}@layer layout{.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-inline:calc(-0.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-inline-start:8.3333333333%}.offset-2{margin-inline-start:16.6666666667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333333333%}.offset-5{margin-inline-start:41.6666666667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333333333%}.offset-8{margin-inline-start:66.6666666667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333333333%}.offset-11{margin-inline-start:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width >= 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.3333333333%}.offset-sm-2{margin-inline-start:16.6666666667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333333333%}.offset-sm-5{margin-inline-start:41.6666666667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333333333%}.offset-sm-8{margin-inline-start:66.6666666667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333333333%}.offset-sm-11{margin-inline-start:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width >= 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.3333333333%}.offset-md-2{margin-inline-start:16.6666666667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333333333%}.offset-md-5{margin-inline-start:41.6666666667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333333333%}.offset-md-8{margin-inline-start:66.6666666667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333333333%}.offset-md-11{margin-inline-start:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width >= 1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.3333333333%}.offset-lg-2{margin-inline-start:16.6666666667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333333333%}.offset-lg-5{margin-inline-start:41.6666666667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333333333%}.offset-lg-8{margin-inline-start:66.6666666667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333333333%}.offset-lg-11{margin-inline-start:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width >= 1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.3333333333%}.offset-xl-2{margin-inline-start:16.6666666667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333333333%}.offset-xl-5{margin-inline-start:41.6666666667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333333333%}.offset-xl-8{margin-inline-start:66.6666666667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333333333%}.offset-xl-11{margin-inline-start:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width >= 1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:0 0 auto;width:auto}.row-cols-2xl-1>*{flex:0 0 auto;width:100%}.row-cols-2xl-2>*{flex:0 0 auto;width:50%}.row-cols-2xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 auto;width:25%}.row-cols-2xl-5>*{flex:0 0 auto;width:20%}.row-cols-2xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto}.col-2xl-1{flex:0 0 auto;width:8.3333333333%}.col-2xl-2{flex:0 0 auto;width:16.6666666667%}.col-2xl-3{flex:0 0 auto;width:25%}.col-2xl-4{flex:0 0 auto;width:33.3333333333%}.col-2xl-5{flex:0 0 auto;width:41.6666666667%}.col-2xl-6{flex:0 0 auto;width:50%}.col-2xl-7{flex:0 0 auto;width:58.3333333333%}.col-2xl-8{flex:0 0 auto;width:66.6666666667%}.col-2xl-9{flex:0 0 auto;width:75%}.col-2xl-10{flex:0 0 auto;width:83.3333333333%}.col-2xl-11{flex:0 0 auto;width:91.6666666667%}.col-2xl-12{flex:0 0 auto;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.3333333333%}.offset-2xl-2{margin-inline-start:16.6666666667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333333333%}.offset-2xl-5{margin-inline-start:41.6666666667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333333333%}.offset-2xl-8{margin-inline-start:66.6666666667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333333333%}.offset-2xl-11{margin-inline-start:91.6666666667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:0.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:0.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:0.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:0.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;display:grid;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap)}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width >= 576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width >= 768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width >= 1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width >= 1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width >= 1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;gap:var(--bs-gap)}}@layer forms{.form-label{margin-bottom:.5rem}.col-form-label{padding-top:add(.375rem,var(--bs-border-width));padding-bottom:add(.375rem,var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:add(.5rem,var(--bs-border-width));padding-bottom:add(.5rem,var(--bs-border-width));font-size:17.5px}.col-form-label-sm{padding-top:add(.25rem,var(--bs-border-width));padding-bottom:add(.25rem,var(--bs-border-width));font-size:12.25px}}@layer forms{.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}}@layer forms{.form-control{--bs-control-min-height:2.5rem;--bs-control-padding-y:0.375rem;--bs-control-padding-x:0.75rem;--bs-control-font-size:14px;--bs-control-line-height:1.5;--bs-control-color:var(--bs-color-body);--bs-control-bg:var(--bs-bg-body);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-select-bg-color:var(--bs-gray-600);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--bs-gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right 0.75rem center;--bs-control-select-bg-size:16px 12px;display:block;width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-control-bg);background-clip:padding-box;border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-box-shadow-inset);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus-visible{color:var(--bs-color-body);background-color:var(--bs-bg-body);border-color:var(--bs-primary-border);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);margin-inline-end:var(--bs-control-padding-x);color:var(--bs-color-body);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-color-body);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-inline:0}select.form-control{padding-inline-end:calc(var(--bs-control-padding-x) * 3);background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size)}select.form-control[multiple],select.form-control[size]:not([size="1"]){padding-inline-end:var(--bs-control-padding-x);background-image:none}select.form-control [data-bs-theme=dark]{--bs-control-select-indicator:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-control-sm{--bs-control-min-height:2rem;--bs-control-padding-y:0.25rem;--bs-control-padding-x:0.5rem;--bs-control-font-size:12.25px;--bs-control-line-height:1.25;--bs-control-border-radius:var(--bs-border-radius-sm)}.form-control-lg{--bs-control-min-height:3rem;--bs-control-padding-y:0.5rem;--bs-control-padding-x:1rem;--bs-control-font-size:17.5px;--bs-control-line-height:2;--bs-control-border-radius:var(--bs-border-radius-lg)}.form-control-color{width:3rem;height:2.5rem;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:2rem}.form-control-color.form-control-lg{height:3rem}}@layer forms{b-checkgroup{display:flex;gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start)}b-checkgroup .description{color:var(--bs-secondary-text)}.check{--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-checked-bg:var(--bs-primary-base);--bs-check-checked-border-color:var(--bs-primary-base);--bs-check-indeterminate-bg:var(--bs-primary-base);--bs-check-indeterminate-border-color:var(--bs-primary-base);--bs-check-disabled-bg:var(--bs-bg-3);--bs-check-disabled-opacity:0.65;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));margin-block:0.125rem}.check :where(svg,input){flex-shrink:0;grid-row-start:1;grid-column-start:1;width:1rem;height:1rem}.check :where(input){-webkit-appearance:none;appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.25em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check:has(input:checked) .checked,.check:has(input:indeterminate) .indeterminate{display:block;color:var(--bs-primary-contrast);stroke:currentcolor}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}}@layer forms{b-radiogroup{display:flex;gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start)}b-radiogroup .description{color:var(--bs-secondary-text)}.radio{--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-primary-base);--bs-radio-checked-border-color:var(--bs-primary-base);--bs-radio-disabled-bg:var(--bs-bg-3);--bs-radio-disabled-opacity:0.65;position:relative;flex-shrink:0;width:1rem;height:1rem;margin-block:0.125rem;-webkit-appearance:none;appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked::before{position:absolute;inset:0.25rem;content:"";background-color:currentcolor;border-radius:50%}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}}@layer forms{.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-bg:var(--bs-secondary-bg);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-primary-base);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-secondary-bg);--bs-switch-disabled-indicator-bg:var(--bs-secondary-text);position:relative;display:flex;flex-shrink:0;align-items:stretch;justify-content:flex-start;width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.05);transition:.15s ease-in-out;transition-property:padding-inline-start,background-color}.switch::before{flex-shrink:0;width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-switch-indicator-bg);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.1)}.switch input{position:absolute;inset:0;-webkit-appearance:none;appearance:none;background-color:transparent}.switch:has(input:checked){padding-inline-start:calc(var(--bs-switch-height)/ 2 + var(--bs-switch-padding));background-color:var(--bs-switch-checked-bg);border-color:var(--bs-switch-checked-border-color)}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled)::before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1em}.switch-lg{--bs-switch-height:2em}}@layer forms{.form-range{width:100%;height:add(1rem,.5em);padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--bs-bg-body),0 0 0 .25rem var(--bs-primary-focus-ring)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px var(--bs-bg-body),0 0 0 .25rem var(--bs-primary-focus-ring)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:var(--bs-primary-bg);border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-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}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:tint-color(var(--bs-primary-bg),70%)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:var(--bs-primary-bg);border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-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}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:tint-color(var(--bs-primary-bg),70%)}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}}@layer forms{.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-inline-start:0.75rem;padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-bg-body);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:var(--bs-gray-600)}}@layer forms{.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:14px;line-height:1.5;color:var(--bs-color-body);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:17.5px;border-radius:var(--bs-border-radius-lg)}.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:12.25px;border-radius:var(--bs-border-radius-sm)}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-start-end-radius:0;border-end-end-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-inline-start:calc(-1 * var(--bs-border-width));border-start-start-radius:0;border-end-start-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}}@layer components{.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.75rem;--bs-tooltip-padding-y:0.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.95;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}}@layer forms{.valid-feedback{display:none;width:100%;margin-top:.5rem;font-size:12.25px;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.375rem .75rem;margin-top:.1rem;font-size:var(--bs-font-size-sm);color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);padding-inline-end:add(1.5em,0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--bs-success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right add(.375em,.1875rem) center;background-size:add(.75em,.375rem) add(.75em,.375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25em rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-inline-end:add(1.5em,0.75rem);background-position:top add(.375em,.1875rem) right add(.375em,.1875rem)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:add(3rem,add(1.5em,.75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25em rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-inline-start:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.5rem;font-size:12.25px;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.375rem .75rem;margin-top:.1rem;font-size:var(--bs-font-size-sm);color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);padding-inline-end:add(1.5em,0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--bs-danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--bs-danger%29' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right add(.375em,.1875rem) center;background-size:add(.75em,.375rem) add(.75em,.375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25em rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-inline-end:add(1.5em,0.75rem);background-position:top add(.375em,.1875rem) right add(.375em,.1875rem)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:add(3rem,add(1.5em,.75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25em rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-inline-start:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}}@layer components{.btn,.btn-outline,.btn-solid,.btn-subtle,.btn-text{--bs-btn-min-height:2.25rem;--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:14px;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-color-body);--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:0.65;display:inline-flex;gap:var(--bs-btn-gap,.25rem);align-items:center;justify-content:center;min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition: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,.btn-outline,.btn-solid,.btn-subtle,.btn-text{transition:none}}.btn-outline:hover,.btn-solid:hover,.btn-subtle:hover,.btn-text:hover,.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn-outline:focus-visible,.btn-solid:focus-visible,.btn-subtle:focus-visible,.btn-text:focus-visible,.btn:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-outline.active,.btn-outline.show,.btn-solid.active,.btn-solid.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn-outline.active:focus-visible,.btn-outline.show:focus-visible,.btn-solid.active:focus-visible,.btn-solid.show:focus-visible,.btn-subtle.active:focus-visible,.btn-subtle.show:focus-visible,.btn-text.active:focus-visible,.btn-text.show:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.disabled,.btn-outline:disabled,.btn-solid.disabled,.btn-solid:disabled,.btn-subtle.disabled,.btn-subtle:disabled,.btn-text.disabled,.btn-text:disabled,.btn.disabled,.btn:disabled,fieldset:disabled .btn,fieldset:disabled .btn-outline,fieldset:disabled .btn-solid,fieldset:disabled .btn-subtle,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid.active,.btn-solid.btn-check:has(input:checked),.btn-solid:active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid.btn-check:has(input:disabled),.btn-solid.disabled,.btn-solid:disabled{--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline.active,.btn-outline.btn-check:has(input:checked),.btn-outline:active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline.btn-check:has(input:disabled),.btn-outline.disabled,.btn-outline:disabled{--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle.active,.btn-subtle.btn-check:has(input:checked),.btn-subtle:active{--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle.btn-check:has(input:disabled),.btn-subtle.disabled,.btn-subtle:disabled{--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text.active,.btn-text.btn-check:has(input:checked),.btn-text:active{--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text.btn-check:has(input:disabled),.btn-text.disabled,.btn-text:disabled{--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-gray-600);--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration)}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-xs>[class*=btn-],.btn-xs{--bs-btn-min-height:1.5rem;--bs-btn-padding-y:0.125rem;--bs-btn-padding-x:0.375rem;--bs-btn-font-size:var(--bs-font-size-xs);--bs-btn-line-height:1.125rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.btn-group-sm>[class*=btn-],.btn-sm{--bs-btn-min-height:2rem;--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:12.25px;--bs-btn-line-height:1.125rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.btn-group-lg>[class*=btn-],.btn-lg{--bs-btn-min-height:2.75rem;--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:17.5px;--bs-btn-line-height:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-icon{align-items:center;justify-content:center;aspect-ratio:1;padding:0}.btn-check>input{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow)}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none}.btn-styled{--bs-btn-gradient-start:rgb(255 255 255 / 12.5%);--bs-btn-gradient-end:rgb(0 0 0 / 7.5%);--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px rgb(0 0 0 / 15%),inset 0 1px 0 rgb(255 255 255 / 10%);--bs-btn-active-shadow:inset 0 2px 4px rgba(0, 0, 0, .15);background-image:linear-gradient(to bottom,var(--bs-btn-gradient-start),var(--bs-btn-gradient-end));border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom,var(--bs-btn-gradient-start),var(--bs-btn-gradient-end));border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled.active,.btn-styled:active{background-image:none;border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow)}.btn-styled.disabled,.btn-styled:disabled{background-image:none;box-shadow:none}}@layer components{.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>[class*=btn-],.btn-group>[class*=btn-]{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:has(input:checked),.btn-group-vertical>.btn-check:has(input:focus),.btn-group-vertical>[class*=btn-].active,.btn-group-vertical>[class*=btn-]:active,.btn-group-vertical>[class*=btn-]:focus,.btn-group-vertical>[class*=btn-]:hover,.btn-group>.btn-check:has(input:checked),.btn-group>.btn-check:has(input:focus),.btn-group>[class*=btn-].active,.btn-group>[class*=btn-]:active,.btn-group>[class*=btn-]:focus,.btn-group>[class*=btn-]:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>[class*=btn-]:not(:first-child){margin-inline-start:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>[class*=btn-],.btn-group>[class*=btn-]:not(:last-child):not(.dropdown-toggle){border-start-end-radius:0;border-end-end-radius:0}.btn-group>.btn-group:not(:first-child)>[class*=btn-],.btn-group>[class*=btn-]:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.dropdown-toggle-split{padding-inline:0.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-inline-start:0}.dropstart .dropdown-toggle-split::before{margin-inline-end:0}.btn-sm+.dropdown-toggle-split{padding-inline:0.375rem}.btn-lg+.dropdown-toggle-split{padding-inline:0.75rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn-group,.btn-group-vertical>[class*=btn-]{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>[class*=btn-]:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-],.btn-group-vertical>[class*=btn-]:not(:last-child):not(.dropdown-toggle){border-end-start-radius:0;border-end-end-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-],.btn-group-vertical>[class*=btn-]:not(:first-child){border-start-start-radius:0;border-start-end-radius:0}}@layer components{.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:var(--bs-fg-body);--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-opacity:0.85;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);padding:0;color:var(--bs-btn-close-color);background:0 0;border:0;border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity)}.btn-close>svg{display:block;width:100%;height:100%;fill:currentcolor}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:var(--bs-focus-ring);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}}@layer componenents{.accordion{--bs-accordion-color:var(--bs-color-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius-lg);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem var(--bs-primary-focus-ring);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:14px;color:var(--bs-accordion-btn-color);text-align:start;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-inline-start:auto;content:"";background-color:var(--bs-accordion-btn-color);-webkit-mask:var(--bs-accordion-btn-icon) no-repeat center 100%;mask:var(--bs-accordion-btn-icon) no-repeat center 100%;transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-start-start-radius:var(--bs-accordion-inner-border-radius);border-start-end-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-start-radius:var(--bs-accordion-border-radius);border-end-end-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-end-start-radius:var(--bs-accordion-inner-border-radius);border-end-end-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-end-start-radius:var(--bs-accordion-border-radius);border-end-end-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}}@layer components{.alert{--bs-alert-bg:var(--bs-theme-bg-subtle, transparent);--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:var(--bs-theme-text, inherit);--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-theme-border, var(--bs-alert-border-color));--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-inline-end:3rem}.alert-dismissible .btn-close{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:2;padding:1.25rem 1rem}}@layer components{.badge{--bs-badge-padding-x:0.5em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:1px;--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}}@layer components{.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size: ;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-inline-start:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:inline-start;padding-inline-end:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}[dir=rtl] .breadcrumb-item:not(:first-child)::before{content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}}@layer components{.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-color-body);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);box-shadow:var(--bs-card-box-shadow)}.card>hr{margin-inline:0}.card>.list-group{border-block:inherit}.card>.list-group:first-child{border-block-start-width:0;border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-block-end-width:0;border-end-start-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-block-start:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-inline-start:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-block-end:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-block-start:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-inline:calc(-0.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-header-pills{margin-inline:calc(-0.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-start-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (width >= 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-inline-start:0;border-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-end-start-radius:0}}}@layer components{.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;display:flow-root;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;float:inline-start;width:100%;margin-inline-end:-100%;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-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;inset-block:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;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{inset-inline-start:0}.carousel-control-next{inset-inline-end:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"))}[dir=rtl] .carousel-control-prev-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"))}.carousel-control-next-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"))}[dir=rtl] .carousel-control-next-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"))}.carousel-indicators{position:absolute;inset:auto 0 0;z-index:2;display:flex;justify-content:center;padding:0;margin-inline:15%;margin-bottom:1rem}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-inline:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-block:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}@layer components{.dialog-open{overflow:hidden;scrollbar-gutter:stable}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--bs-dialog-border-color:var(--bs-border-color-translucent);--bs-dialog-border-width:var(--bs-border-width);--bs-dialog-border-radius:var(--bs-border-radius-lg);--bs-dialog-box-shadow:var(--bs-box-shadow-lg);--bs-dialog-backdrop-bg:rgba(0, 0, 0, 0.5);--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:0.5rem;max-width:var(--bs-dialog-width);max-height:calc(100% - var(--bs-dialog-margin) * 2);padding:0;margin:auto;color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);background-clip:padding-box;border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow)}.dialog::backdrop{background-color:var(--bs-dialog-backdrop-bg)}.dialog.fade{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade{transition:none}}.dialog.fade::backdrop{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade::backdrop{transition:none}}.dialog.fade[open]{opacity:1}.dialog.fade[open]::backdrop{opacity:1}.dialog.dialog-static{transform:scale(1.02)}.dialog.dialog-nonmodal{position:fixed;inset-block-start:50%;inset-inline-start:50%;z-index:1055;margin-inline:0;transform:translate(-50%,-50%)}.dialog.dialog-overflow{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);margin:0;overflow-y:auto;overscroll-behavior:contain;background:0 0;border:0;box-shadow:none}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);margin-block-end:var(--bs-dialog-margin);margin-inline:auto;color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);background-clip:padding-box;border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow)}.dialog.dialog-scrollable[open]{display:flex;flex-direction:column;max-height:calc(100% - var(--bs-dialog-margin) * 2)}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media (width < 576px){.dialog-fullscreen-sm-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 768px){.dialog-fullscreen-md-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1024px){.dialog-fullscreen-lg-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1280px){.dialog-fullscreen-xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1536px){.dialog-fullscreen-2xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color)}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{margin-bottom:0;font-size:var(--bs-font-size-md);line-height:1.5}.dialog-body{position:relative;flex:1 1 auto;padding:var(--bs-dialog-padding);overflow-y:auto}.dialog-footer{display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--bs-dialog-footer-gap);align-items:center;justify-content:flex-end;padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color)}}@layer components{.dropdown{position:relative}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-gap:0.125rem;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0.25rem;--bs-dropdown-padding-y:0.25rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:14px;--bs-dropdown-color:var(--bs-fg-body);--bs-dropdown-bg:var(--bs-bg-body);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius-lg);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.125rem;--bs-dropdown-divider-margin-x:0.25rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-fg-body);--bs-dropdown-link-hover-color:var(--bs-fg-body);--bs-dropdown-link-hover-bg:var(--bs-bg-1);--bs-dropdown-link-active-color:var(--bs-primary-contrast);--bs-dropdown-link-active-bg:var(--bs-primary-bg);--bs-dropdown-link-disabled-color:var(--bs-fg-3);--bs-dropdown-item-gap:0.5rem;--bs-dropdown-item-padding-x:0.75rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-item-border-radius:var(--bs-border-radius);--bs-dropdown-header-color:var(--bs-gray-600);--bs-dropdown-header-padding-x:0.75rem;--bs-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;flex-direction:column;gap:var(--bs-dropdown-gap);min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:start;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);box-shadow:var(--bs-dropdown-box-shadow)}.dropdown-menu.show{display:flex}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) var(--bs-dropdown-divider-margin-x);overflow:hidden;border-block-start:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:flex;gap:var(--bs-dropdown-item-gap);align-items:center;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:12.25px;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-fg-2)}.dropdown-menu-dark{--bs-dropdown-color:var(--bs-gray-300);--bs-dropdown-bg:var(--bs-gray-900);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:var(--bs-gray-300);--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:var(--bs-primary-contrast);--bs-dropdown-link-active-bg:var(--bs-primary-bg);--bs-dropdown-link-disabled-color:var(--bs-gray-500);--bs-dropdown-header-color:var(--bs-gray-500)}}@layer components{.list-group{--bs-list-group-color:var(--bs-color-body);--bs-list-group-bg:var(--bs-bg-body);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-color-body);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);display:flex;flex-direction:column;padding-inline-start:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));text-decoration:none;background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color))}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));text-decoration:none;background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg))}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-active-bg))}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}@media (width >= 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1024px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1280px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1536px){.list-group-horizontal-2xl{flex-direction:row}.list-group-horizontal-2xl>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-2xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-2xl>.list-group-item.active{margin-top:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-block-end-width:0}}@layer components{.nav{--bs-nav-gap:0.125rem;--bs-nav-link-gap:0.5rem;--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);display:flex;flex-wrap:wrap;gap:var(--bs-nav-gap);padding-inline-start:0;margin-bottom:0;list-style:none}.nav-item{display:flex}.nav-link{display:flex;gap:var(--bs-nav-link-gap);align-items:center;justify-content:center;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;border-radius:var(--bs-border-radius);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:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);border-block-end:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-end-start-radius:0;border-end-end-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color)}.nav-underline .nav-link{padding-inline:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-block-end-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}}@layer components{.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg);--bs-navbar-brand-padding-y:0.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:17.5px;--bs-navbar-brand-color:var(--bs-fg);--bs-navbar-brand-hover-color:var(--bs-fg);--bs-navbar-nav-link-padding-x:0.75rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:17.5px;--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--bs-color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"));--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25em;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-2xl,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-inline-end:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-inline-start:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-text{color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (width >= 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none!important}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none!important}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1024px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none!important}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1280px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none!important}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1536px){.navbar-expand-2xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-2xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-2xl .navbar-nav-scroll{overflow:visible}.navbar-expand-2xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-2xl .navbar-toggler{display:none!important}.navbar-expand-2xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-2xl .offcanvas .offcanvas-header{display:none}.navbar-expand-2xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))}}.offcanvas,.offcanvas-2xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-color-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@layer components{@media (width < 576px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 576px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (width < 576px){.offcanvas-sm.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-sm.offcanvas-start{transform:translateX(100%)}.offcanvas-sm.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-sm.offcanvas-end{transform:translateX(-100%)}.offcanvas-sm.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (width >= 576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 768px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 768px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (width < 768px){.offcanvas-md.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-md.offcanvas-start{transform:translateX(100%)}.offcanvas-md.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-md.offcanvas-end{transform:translateX(-100%)}.offcanvas-md.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (width >= 768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1024px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1024px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (width < 1024px){.offcanvas-lg.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-lg.offcanvas-start{transform:translateX(100%)}.offcanvas-lg.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-lg.offcanvas-end{transform:translateX(-100%)}.offcanvas-lg.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (width >= 1024px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1280px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1280px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (width < 1280px){.offcanvas-xl.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-xl.offcanvas-start{transform:translateX(100%)}.offcanvas-xl.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-xl.offcanvas-end{transform:translateX(-100%)}.offcanvas-xl.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (width >= 1280px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1536px){.offcanvas-2xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1536px) and (prefers-reduced-motion:reduce){.offcanvas-2xl{transition:none}}@media (width < 1536px){.offcanvas-2xl.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-2xl.offcanvas-start{transform:translateX(100%)}.offcanvas-2xl.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-2xl.offcanvas-end{transform:translateX(-100%)}.offcanvas-2xl.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-2xl.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-2xl.show:not(.hiding),.offcanvas-2xl.showing{transform:none}.offcanvas-2xl.hiding,.offcanvas-2xl.show,.offcanvas-2xl.showing{visibility:visible}}@media (width >= 1536px){.offcanvas-2xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-2xl .offcanvas-header{display:none}.offcanvas-2xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas.offcanvas-start{transform:translateX(100%)}.offcanvas.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas.offcanvas-end{transform:translateX(-100%)}.offcanvas.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;inset:0;z-index:1040;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-offcanvas-padding-x));margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}}@layer components{.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:14px;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem var(--bs-primary-focus-ring);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-inline-start:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-inline-start:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:17.5px;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:12.25px;--bs-pagination-border-radius:var(--bs-border-radius-sm)}}@layer components{.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}}@layer components{.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.75rem;--bs-popover-header-font-size:14px;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:0.75rem;--bs-popover-body-color:var(--bs-color-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-block-start-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-inline-end-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-block-end-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-inline-start-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}}@layer components{@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:10.5px;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}}@layer components{.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}}@layer components{.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-block-end:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-start-start-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-start-end-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-inline-start:var(--bs-toast-padding-x);margin-inline-end:calc(-.5 * var(--bs-toast-padding-x))}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}.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}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}@layer helpers{.text-bg-primary{color:var(--bs-primary-text);--bs-bg:var(--bs-primary-bg-subtle)}.text-bg-accent{color:var(--bs-accent-text);--bs-bg:var(--bs-accent-bg-subtle)}.text-bg-success{color:var(--bs-success-text);--bs-bg:var(--bs-success-bg-subtle)}.text-bg-danger{color:var(--bs-danger-text);--bs-bg:var(--bs-danger-bg-subtle)}.text-bg-warning{color:var(--bs-warning-text);--bs-bg:var(--bs-warning-bg-subtle)}.text-bg-info{color:var(--bs-info-text);--bs-bg:var(--bs-info-bg-subtle)}.text-bg-inverse{color:var(--bs-inverse-text);--bs-bg:var(--bs-inverse-bg-subtle)}.text-bg-secondary{color:var(--bs-secondary-text);--bs-bg:var(--bs-secondary-bg-subtle)}}@layer helpers{.link-primary{--bs-link-color:var(--bs-primary-text)}.link-primary:focus,.link-primary:hover{--bs-link-color:var(--bs-primary-text-emphasis);--bs-link-hover-color:var(--bs-primary-text-emphasis)}.link-accent{--bs-link-color:var(--bs-accent-text)}.link-accent:focus,.link-accent:hover{--bs-link-color:var(--bs-accent-text-emphasis);--bs-link-hover-color:var(--bs-accent-text-emphasis)}.link-success{--bs-link-color:var(--bs-success-text)}.link-success:focus,.link-success:hover{--bs-link-color:var(--bs-success-text-emphasis);--bs-link-hover-color:var(--bs-success-text-emphasis)}.link-danger{--bs-link-color:var(--bs-danger-text)}.link-danger:focus,.link-danger:hover{--bs-link-color:var(--bs-danger-text-emphasis);--bs-link-hover-color:var(--bs-danger-text-emphasis)}.link-warning{--bs-link-color:var(--bs-warning-text)}.link-warning:focus,.link-warning:hover{--bs-link-color:var(--bs-warning-text-emphasis);--bs-link-hover-color:var(--bs-warning-text-emphasis)}.link-info{--bs-link-color:var(--bs-info-text)}.link-info:focus,.link-info:hover{--bs-link-color:var(--bs-info-text-emphasis);--bs-link-hover-color:var(--bs-info-text-emphasis)}.link-inverse{--bs-link-color:var(--bs-inverse-text)}.link-inverse:focus,.link-inverse:hover{--bs-link-color:var(--bs-inverse-text-emphasis);--bs-link-hover-color:var(--bs-inverse-text-emphasis)}.link-secondary{--bs-link-color:var(--bs-secondary-text)}.link-secondary:focus,.link-secondary:hover{--bs-link-color:var(--bs-secondary-text-emphasis);--bs-link-hover-color:var(--bs-secondary-text-emphasis)}.link-body-emphasis{color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-opacity));text-decoration-color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-underline-opacity))}.link-body-emphasis:focus,.link-body-emphasis:hover{color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-opacity,.75));text-decoration-color:color-mix(in srgb,var(--bs-emphasis-color),transparent var(--bs-link-underline-opacity,0.75))}}@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}}@layer helpers{.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}}@layer helpers{.fixed-top{position:fixed;inset:0 0 auto;z-index:1030}.fixed-bottom{position:fixed;inset:auto 0 0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (width >= 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1024px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1280px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1536px){.sticky-2xl-top{position:sticky;top:0;z-index:1020}.sticky-2xl-bottom{position:sticky;bottom:0;z-index:1020}}}@layer helpers{.hstack,b-hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.hstack-start,b-hstack[align=start]{display:flex;flex-direction:row;align-items:flex-start;align-self:stretch}.vstack,b-vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}}@layer helpers{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}}@layer helpers{.stretched-link::after{position:absolute;inset:0;z-index:1;content:""}}@layer helpers{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer helpers{.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1/1}.ratio-4x3{--bs-ratio:4/3}.ratio-16x9{--bs-ratio:16/9}.ratio-21x9{--bs-ratio:21/9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body))}.focus-ring-accent{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body))}.focus-ring-success{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body))}.focus-ring-danger{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body))}.focus-ring-warning{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body))}.focus-ring-info{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translateX(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900), var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300), var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300), var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300), var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300), var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300), var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300), var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch,var(--bs-border-color) 10%,transparent)}.border-20{border-color:color-mix(in oklch,var(--bs-border-color) 20%,transparent)}.border-30{border-color:color-mix(in oklch,var(--bs-border-color) 30%,transparent)}.border-40{border-color:color-mix(in oklch,var(--bs-border-color) 40%,transparent)}.border-50{border-color:color-mix(in oklch,var(--bs-border-color) 50%,transparent)}.border-60{border-color:color-mix(in oklch,var(--bs-border-color) 60%,transparent)}.border-70{border-color:color-mix(in oklch,var(--bs-border-color) 70%,transparent)}.border-80{border-color:color-mix(in oklch,var(--bs-border-color) 80%,transparent)}.border-90{border-color:color-mix(in oklch,var(--bs-border-color) 90%,transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.grid-cols-3{--bs-columns:3}.grid-cols-4{--bs-columns:4}.grid-cols-6{--bs-columns:6}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-monospace)}.font-body{font-family:var(--bs-font-sans-serif)}.fs-xs{font-size:var(--bs-font-size-xs)}.fs-sm{font-size:var(--bs-font-size-sm)}.fs-md{font-size:var(--bs-font-size-md)}.fs-lg{font-size:var(--bs-font-size-lg)}.fs-xl{font-size:var(--bs-font-size-xl)}.fs-2xl{font-size:var(--bs-font-size-2xl)}.fs-3xl{font-size:var(--bs-font-size-3xl)}.fs-4xl{font-size:var(--bs-font-size-4xl)}.fs-5xl{font-size:var(--bs-font-size-5xl)}.fs-6xl{font-size:var(--bs-font-size-6xl)}.text-xs{font-size:var(--bs-font-size-xs);line-height:var(--bs-line-height-xs)}.text-sm{font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm)}.text-md{font-size:var(--bs-font-size-md);line-height:var(--bs-line-height-md)}.text-lg{font-size:var(--bs-font-size-lg);line-height:var(--bs-line-height-lg)}.text-xl{font-size:var(--bs-font-size-xl);line-height:var(--bs-line-height-xl)}.text-2xl{font-size:var(--bs-font-size-2xl);line-height:var(--bs-line-height-2xl)}.text-3xl{font-size:var(--bs-font-size-3xl);line-height:var(--bs-line-height-3xl)}.text-4xl{font-size:var(--bs-font-size-4xl);line-height:var(--bs-line-height-4xl)}.text-5xl{font-size:var(--bs-font-size-5xl);line-height:var(--bs-line-height-5xl)}.text-6xl{font-size:var(--bs-font-size-6xl);line-height:var(--bs-line-height-6xl)}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600), var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600), var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600), var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700), var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600), var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700), var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500), var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800), var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800), var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800), var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800), var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800), var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800), var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975), var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch,var(--bs-fg) 10%,transparent)}.fg-20{color:color-mix(in oklch,var(--bs-fg) 20%,transparent)}.fg-30{color:color-mix(in oklch,var(--bs-fg) 30%,transparent)}.fg-40{color:color-mix(in oklch,var(--bs-fg) 40%,transparent)}.fg-50{color:color-mix(in oklch,var(--bs-fg) 50%,transparent)}.fg-60{color:color-mix(in oklch,var(--bs-fg) 60%,transparent)}.fg-70{color:color-mix(in oklch,var(--bs-fg) 70%,transparent)}.fg-80{color:color-mix(in oklch,var(--bs-fg) 80%,transparent)}.fg-90{color:color-mix(in oklch,var(--bs-fg) 90%,transparent)}.fg-100{color:var(--bs-fg)}.fg-contrast-primary{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-accent{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-success{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white), var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-white));color:var(--bs-fg)}.link-10{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-10-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-20{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-20-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-30{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-30-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-40{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-40-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-50{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-50-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-60{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-60-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-70{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-70-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-80{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-80-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-90{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-90-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-100{color:var(--bs-link-color)}.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1{text-underline-offset:0.125em}.underline-offset-1-hover:hover{text-underline-offset:0.125em}.underline-offset-2{text-underline-offset:0.25em}.underline-offset-2-hover:hover{text-underline-offset:0.25em}.underline-offset-3{text-underline-offset:0.375em}.underline-offset-3-hover:hover{text-underline-offset:0.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch,var(--bs-indigo-400),var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-10-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-20{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-20-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-30{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-30-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-40{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-40-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-50{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-50-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-60{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-60-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-70{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-70-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-80{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-80-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-90{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-90-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-100{text-decoration-color:var(--bs-link-color)}.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1{text-decoration-thickness:1px}.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2{text-decoration-thickness:2px}.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3{text-decoration-thickness:3px}.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4{text-decoration-thickness:4px}.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5{text-decoration-thickness:5px}.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900), var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white), var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025), var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100), var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100), var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100), var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100), var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100), var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100), var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200), var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200), var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200), var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200), var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200), var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200), var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch,var(--bs-bg) 10%,transparent)}.bg-20{background-color:color-mix(in oklch,var(--bs-bg) 20%,transparent)}.bg-30{background-color:color-mix(in oklch,var(--bs-bg) 30%,transparent)}.bg-40{background-color:color-mix(in oklch,var(--bs-bg) 40%,transparent)}.bg-50{background-color:color-mix(in oklch,var(--bs-bg) 50%,transparent)}.bg-60{background-color:color-mix(in oklch,var(--bs-bg) 60%,transparent)}.bg-70{background-color:color-mix(in oklch,var(--bs-bg) 70%,transparent)}.bg-80{background-color:color-mix(in oklch,var(--bs-bg) 80%,transparent)}.bg-90{background-color:color-mix(in oklch,var(--bs-bg) 90%,transparent)}.bg-100{background-color:var(--bs-bg)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width >= 576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.grid-cols-sm-3{--bs-columns:3}.grid-cols-sm-4{--bs-columns:4}.grid-cols-sm-6{--bs-columns:6}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (width >= 768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.grid-cols-md-3{--bs-columns:3}.grid-cols-md-4{--bs-columns:4}.grid-cols-md-6{--bs-columns:6}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (width >= 1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.grid-cols-lg-3{--bs-columns:3}.grid-cols-lg-4{--bs-columns:4}.grid-cols-lg-6{--bs-columns:6}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (width >= 1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.grid-cols-xl-3{--bs-columns:3}.grid-cols-xl-4{--bs-columns:4}.grid-cols-xl-6{--bs-columns:6}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (width >= 1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.grid-cols-2xl-3{--bs-columns:3}.grid-cols-2xl-4{--bs-columns:4}.grid-cols-2xl-6{--bs-columns:6}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}
+  */:root{--bs-blue-025:color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));--bs-blue-050:color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));--bs-blue-100:color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));--bs-blue-200:color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));--bs-blue-300:color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));--bs-blue-400:color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));--bs-blue-500:oklch(60% 0.24 240deg);--bs-blue-600:color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));--bs-blue-700:color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));--bs-blue-800:color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));--bs-blue-900:color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));--bs-blue-950:color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));--bs-blue-975:color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));--bs-indigo-025:color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));--bs-indigo-050:color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));--bs-indigo-100:color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));--bs-indigo-200:color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));--bs-indigo-300:color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));--bs-indigo-400:color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));--bs-indigo-500:oklch(56% 0.26 288deg);--bs-indigo-600:color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));--bs-indigo-700:color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));--bs-indigo-800:color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));--bs-indigo-900:color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));--bs-indigo-950:color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));--bs-indigo-975:color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));--bs-violet-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));--bs-violet-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));--bs-violet-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));--bs-violet-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));--bs-violet-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));--bs-violet-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));--bs-violet-500:oklch(56% 0.24 300deg);--bs-violet-600:color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));--bs-violet-700:color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));--bs-violet-800:color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));--bs-violet-900:color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));--bs-violet-950:color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));--bs-violet-975:color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));--bs-purple-025:color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));--bs-purple-050:color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));--bs-purple-100:color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));--bs-purple-200:color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));--bs-purple-300:color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));--bs-purple-400:color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));--bs-purple-500:oklch(56% 0.24 320deg);--bs-purple-600:color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));--bs-purple-700:color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));--bs-purple-800:color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));--bs-purple-900:color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));--bs-purple-950:color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));--bs-purple-975:color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));--bs-pink-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));--bs-pink-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));--bs-pink-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));--bs-pink-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));--bs-pink-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));--bs-pink-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));--bs-pink-500:oklch(60% 0.22 4deg);--bs-pink-600:color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));--bs-pink-700:color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));--bs-pink-800:color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));--bs-pink-900:color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));--bs-pink-950:color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));--bs-pink-975:color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));--bs-red-025:color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));--bs-red-050:color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));--bs-red-100:color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));--bs-red-200:color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));--bs-red-300:color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));--bs-red-400:color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));--bs-red-500:oklch(60% 0.22 20deg);--bs-red-600:color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));--bs-red-700:color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));--bs-red-800:color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));--bs-red-900:color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));--bs-red-950:color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));--bs-red-975:color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));--bs-orange-025:color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));--bs-orange-050:color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));--bs-orange-100:color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));--bs-orange-200:color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));--bs-orange-300:color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));--bs-orange-400:color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));--bs-orange-500:oklch(70% 0.22 52deg);--bs-orange-600:color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));--bs-orange-700:color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));--bs-orange-800:color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));--bs-orange-900:color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));--bs-orange-950:color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));--bs-orange-975:color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));--bs-amber-025:color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));--bs-amber-050:color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));--bs-amber-100:color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));--bs-amber-200:color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));--bs-amber-300:color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));--bs-amber-400:color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));--bs-amber-500:oklch(79% 0.2 78deg);--bs-amber-600:color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));--bs-amber-700:color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));--bs-amber-800:color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));--bs-amber-900:color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));--bs-amber-950:color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));--bs-amber-975:color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));--bs-yellow-025:color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));--bs-yellow-050:color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));--bs-yellow-100:color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));--bs-yellow-200:color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));--bs-yellow-300:color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));--bs-yellow-400:color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));--bs-yellow-500:oklch(88% 0.24 88deg);--bs-yellow-600:color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));--bs-yellow-700:color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));--bs-yellow-800:color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));--bs-yellow-900:color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));--bs-yellow-950:color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));--bs-yellow-975:color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));--bs-lime-025:color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));--bs-lime-050:color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));--bs-lime-100:color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));--bs-lime-200:color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));--bs-lime-300:color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));--bs-lime-400:color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));--bs-lime-500:oklch(65% 0.24 135deg);--bs-lime-600:color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));--bs-lime-700:color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));--bs-lime-800:color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));--bs-lime-900:color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));--bs-lime-950:color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));--bs-lime-975:color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));--bs-green-025:color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));--bs-green-050:color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));--bs-green-100:color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));--bs-green-200:color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));--bs-green-300:color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));--bs-green-400:color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));--bs-green-500:oklch(64% 0.22 160deg);--bs-green-600:color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));--bs-green-700:color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));--bs-green-800:color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));--bs-green-900:color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));--bs-green-950:color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));--bs-green-975:color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));--bs-teal-025:color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));--bs-teal-050:color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));--bs-teal-100:color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));--bs-teal-200:color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));--bs-teal-300:color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));--bs-teal-400:color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));--bs-teal-500:oklch(68% 0.22 190deg);--bs-teal-600:color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));--bs-teal-700:color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));--bs-teal-800:color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));--bs-teal-900:color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));--bs-teal-950:color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));--bs-teal-975:color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));--bs-cyan-025:color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));--bs-cyan-050:color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));--bs-cyan-100:color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));--bs-cyan-200:color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));--bs-cyan-300:color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));--bs-cyan-400:color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));--bs-cyan-500:oklch(69% 0.22 220deg);--bs-cyan-600:color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));--bs-cyan-700:color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));--bs-cyan-800:color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));--bs-cyan-900:color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));--bs-cyan-950:color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));--bs-cyan-975:color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));--bs-brown-025:color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));--bs-brown-050:color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));--bs-brown-100:color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));--bs-brown-200:color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));--bs-brown-300:color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));--bs-brown-400:color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));--bs-brown-500:oklch(60% 0.12 54deg);--bs-brown-600:color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));--bs-brown-700:color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));--bs-brown-800:color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));--bs-brown-900:color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));--bs-brown-950:color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));--bs-brown-975:color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));--bs-gray-025:color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));--bs-gray-050:color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));--bs-gray-100:color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));--bs-gray-200:color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));--bs-gray-300:color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));--bs-gray-400:color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));--bs-gray-500:oklch(60% 0.02 245deg);--bs-gray-600:color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));--bs-gray-700:color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));--bs-gray-800:color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));--bs-gray-900:color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));--bs-gray-950:color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));--bs-gray-975:color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));--bs-pewter-025:color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));--bs-pewter-050:color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));--bs-pewter-100:color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));--bs-pewter-200:color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));--bs-pewter-300:color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));--bs-pewter-400:color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));--bs-pewter-500:oklch(65% 0.01 290deg);--bs-pewter-600:color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));--bs-pewter-700:color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));--bs-pewter-800:color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));--bs-pewter-900:color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));--bs-pewter-950:color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));--bs-pewter-975:color-mix(in lab, #000 88%, oklch(65% 0.01 290deg))}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}:root,[data-bs-theme=light]{--bs-white-rgb:to-rgb(#fff);--bs-black-rgb:to-rgb(#000);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:14px;--bs-font-size-xs:.75rem;--bs-font-size-sm:.875rem;--bs-font-size-md:1rem;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-xs:1.5;--bs-line-height-sm:1.5;--bs-line-height-md:1.5;--bs-line-height-lg:1.5;--bs-line-height-xl:calc(2.5 / 1.75);--bs-line-height-2xl:calc(3 / 2.25);--bs-line-height-3xl:1.2;--bs-line-height-4xl:1.1;--bs-line-height-5xl:1.1;--bs-line-height-6xl:1;--bs-body-font-size:14px;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color-rgb:to-rgb(var(--bs-color-body));--bs-body-bg-rgb:to-rgb(var(--bs-bg-body));--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base), var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-code-color:var(--bs-secondary-text);--bs-highlight-color:var(--bs-color-body);--bs-highlight-bg:var(--bs-yellow-100);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.5rem;--bs-border-radius-sm:0.375rem;--bs-border-radius-lg:0.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-form-valid-color:var(--bs-success);--bs-form-valid-border-color:var(--bs-success);--bs-form-invalid-color:var(--bs-danger);--bs-form-invalid-border-color:var(--bs-danger);color-scheme:light;--bs-root-font-size:16px}[data-bs-theme=dark]{--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:to-rgb(#fff);--bs-heading-color:inherit;--bs-border-color:var(--bs-gray-700);--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:var(--bs-green-300);--bs-form-valid-border-color:var(--bs-green-300);--bs-form-invalid-color:var(--bs-red-300);--bs-form-invalid-border-color:var(--bs-red-300);color-scheme:dark}@layer reboot{*,::after,::before{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-color-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.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;color:var(--bs-heading-color)}.h1,h1{font-size:var(--bs-font-size-3xl)}.h2,h2{font-size:var(--bs-font-size-2xl)}.h3,h3{font-size:var(--bs-font-size-xl)}.h4,h4{font-size:var(--bs-font-size-lg)}.h5,h5{font-size:var(--bs-font-size-md)}.h6,h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{-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-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:0.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}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:95%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:95%;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:95%;color:var(--bs-bg-body);background-color:var(--bs-fg-body);border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-block:0.5rem;color:var(--bs-secondary-color);text-align:start}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:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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:inline-start;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:inline-start}::-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]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer content{.list-unstyled{padding-inline-start:0;list-style:none}.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:17.5px}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:var(--bs-gray-600)}.blockquote-footer::before{content:"— "}}@layer content{.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-color-body);--bs-table-bg:var(--bs-bg-body);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-color-body);--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) 5%, transparent);--bs-table-active-color:var(--bs-color-body);--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) 10%, transparent);--bs-table-hover-color:var(--bs-color-body);--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) 7.5%, transparent);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-theme-border,var(--bs-table-border-color))}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-theme-text, var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text, var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text, var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 10%, transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text, var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 7.5%, transparent)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (width < 576px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 768px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1024px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1280px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (width < 1536px){.table-responsive-2xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}}@layer content{.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-bg-body);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}}@layer content{.prose{--bs-content-font-size:var(--bs-font-size-sm);--bs-content-gap:20px;--bs-heading-color:light-dark(var(--bs-gray-900), var(--bs-white));position:relative;display:flex;flex-direction:column;gap:var(--bs-content-gap);max-width:1000px;margin-inline:auto;font-size:var(--bs-content-font-size);line-height:1.5}@media (width >= 1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose blockquote,.prose dl,.prose ol,.prose p,.prose pre,.prose table,.prose ul{margin-block:0}.prose :where(ul,ol):not([class]) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap)/ 4)}.prose li ol,.prose li ul{margin-top:calc(var(--bs-content-gap)/ 4)}.prose hr{margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.prose h1:not([class]),.prose h2:not([class]),.prose h3:not([class]),.prose h4:not([class]),.prose h5:not([class]),.prose h6:not([class]){margin-top:0;margin-bottom:calc(var(--bs-content-gap)/ -2);font-weight:500;line-height:1.25}.prose h1:not([class]) code,.prose h2:not([class]) code,.prose h3:not([class]) code,.prose h4:not([class]) code,.prose h5:not([class]) code,.prose h6:not([class]) code{font-weight:600;color:inherit}.prose h1:not(:first-child),.prose h2:not(:first-child){margin-top:calc(var(--bs-content-gap) * 1.5)}.prose h3:not(:first-child),.prose h4:not(:first-child),.prose h5:not(:first-child),.prose h6:not(:first-child){margin-top:calc(var(--bs-content-gap) * 1.25)}.prose h1{font-size:2.25em;line-height:1.1}.prose h2{font-size:1.75em}.prose h3{font-size:1.5em}.prose h4{font-size:1.25em}.prose h5{font-size:1.125em}.prose h6{font-size:1em}.prose a:not([class]){color:var(--bs-link-color);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--bs-link-color) 25%,transparent);text-underline-offset:4px;transition:.1s text-decoration-color ease-in-out}@media (prefers-reduced-motion:reduce){.prose a:not([class]){transition:none}}.prose a:not([class]):hover{text-decoration-color:var(--bs-link-hover-color)}.prose img{max-width:100%}.prose blockquote{padding-inline-start:calc(var(--bs-content-gap)/ 2);margin:0;border-inline-start:4px solid var(--bs-border-color)}.prose table{width:100%;border-spacing:0;border-collapse:collapse}.prose :where(table:not([class])) td,.prose :where(table:not([class])) th{padding:6px 12px;text-align:inherit;border:1px solid var(--bs-border-color)}.prose dt{font-weight:500}.prose img,.prose video{max-width:100%}}@layer layout{.container,.container-2xl,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-inline:auto}@media (width >= 576px){.container,.container-sm{max-width:540px}}@media (width >= 768px){.container,.container-md,.container-sm{max-width:720px}}@media (width >= 1024px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (width >= 1280px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}@media (width >= 1536px){.container,.container-2xl,.container-lg,.container-md,.container-sm,.container-xl{max-width:1440px}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}@layer layout{.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-inline:calc(-0.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-inline-start:8.3333333333%}.offset-2{margin-inline-start:16.6666666667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333333333%}.offset-5{margin-inline-start:41.6666666667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333333333%}.offset-8{margin-inline-start:66.6666666667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333333333%}.offset-11{margin-inline-start:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width >= 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.3333333333%}.offset-sm-2{margin-inline-start:16.6666666667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333333333%}.offset-sm-5{margin-inline-start:41.6666666667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333333333%}.offset-sm-8{margin-inline-start:66.6666666667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333333333%}.offset-sm-11{margin-inline-start:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width >= 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.3333333333%}.offset-md-2{margin-inline-start:16.6666666667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333333333%}.offset-md-5{margin-inline-start:41.6666666667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333333333%}.offset-md-8{margin-inline-start:66.6666666667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333333333%}.offset-md-11{margin-inline-start:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width >= 1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.3333333333%}.offset-lg-2{margin-inline-start:16.6666666667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333333333%}.offset-lg-5{margin-inline-start:41.6666666667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333333333%}.offset-lg-8{margin-inline-start:66.6666666667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333333333%}.offset-lg-11{margin-inline-start:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width >= 1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.3333333333%}.offset-xl-2{margin-inline-start:16.6666666667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333333333%}.offset-xl-5{margin-inline-start:41.6666666667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333333333%}.offset-xl-8{margin-inline-start:66.6666666667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333333333%}.offset-xl-11{margin-inline-start:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width >= 1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:0 0 auto;width:auto}.row-cols-2xl-1>*{flex:0 0 auto;width:100%}.row-cols-2xl-2>*{flex:0 0 auto;width:50%}.row-cols-2xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 auto;width:25%}.row-cols-2xl-5>*{flex:0 0 auto;width:20%}.row-cols-2xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto}.col-2xl-1{flex:0 0 auto;width:8.3333333333%}.col-2xl-2{flex:0 0 auto;width:16.6666666667%}.col-2xl-3{flex:0 0 auto;width:25%}.col-2xl-4{flex:0 0 auto;width:33.3333333333%}.col-2xl-5{flex:0 0 auto;width:41.6666666667%}.col-2xl-6{flex:0 0 auto;width:50%}.col-2xl-7{flex:0 0 auto;width:58.3333333333%}.col-2xl-8{flex:0 0 auto;width:66.6666666667%}.col-2xl-9{flex:0 0 auto;width:75%}.col-2xl-10{flex:0 0 auto;width:83.3333333333%}.col-2xl-11{flex:0 0 auto;width:91.6666666667%}.col-2xl-12{flex:0 0 auto;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.3333333333%}.offset-2xl-2{margin-inline-start:16.6666666667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333333333%}.offset-2xl-5{margin-inline-start:41.6666666667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333333333%}.offset-2xl-8{margin-inline-start:66.6666666667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333333333%}.offset-2xl-11{margin-inline-start:91.6666666667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:0.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:0.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:0.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:0.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;display:grid;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap)}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width >= 576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width >= 768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width >= 1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width >= 1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width >= 1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;gap:var(--bs-gap)}}@layer forms{.form-label{margin-bottom:.5rem}.col-form-label{padding-top:add(.375rem,var(--bs-border-width));padding-bottom:add(.375rem,var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:add(.5rem,var(--bs-border-width));padding-bottom:add(.5rem,var(--bs-border-width));font-size:17.5px}.col-form-label-sm{padding-top:add(.25rem,var(--bs-border-width));padding-bottom:add(.25rem,var(--bs-border-width));font-size:12.25px}}@layer forms{.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}}@layer forms{.form-control{--bs-control-min-height:2.5rem;--bs-control-padding-y:0.375rem;--bs-control-padding-x:0.75rem;--bs-control-font-size:14px;--bs-control-line-height:1.5;--bs-control-color:var(--bs-color-body);--bs-control-bg:var(--bs-bg-body);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-select-bg-color:var(--bs-gray-600);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right 0.75rem center;--bs-control-select-bg-size:16px 12px;display:block;width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-control-bg);background-clip:padding-box;border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-box-shadow-inset);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus-visible{--bs-focus-ring-offset:-1px;color:var(--bs-color-body);background-color:var(--bs-bg-body);border-color:var(--bs-primary-border);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);margin-inline-end:var(--bs-control-padding-x);color:var(--bs-color-body);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-color-body);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-inline:0}select.form-control{padding-inline-end:calc(var(--bs-control-padding-x) * 3);background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size)}select.form-control[multiple],select.form-control[size]:not([size="1"]){padding-inline-end:var(--bs-control-padding-x);background-image:none}select.form-control [data-bs-theme=dark]{--bs-control-select-indicator:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-control-sm{--bs-control-min-height:2rem;--bs-control-padding-y:0.25rem;--bs-control-padding-x:0.5rem;--bs-control-font-size:12.25px;--bs-control-line-height:1.25;--bs-control-border-radius:var(--bs-border-radius-sm)}.form-control-lg{--bs-control-min-height:3rem;--bs-control-padding-y:0.5rem;--bs-control-padding-x:1rem;--bs-control-font-size:17.5px;--bs-control-line-height:2;--bs-control-border-radius:var(--bs-border-radius-lg)}.form-control-color{width:3rem;height:2.5rem;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:2rem}.form-control-color.form-control-lg{height:3rem}.form-ghost{display:block;width:100%;padding:0;font:inherit;color:inherit;-webkit-appearance:none;appearance:none;background:0 0;border:0}.form-ghost:focus{outline:0}.form-ghost::placeholder{color:var(--bs-fg-3);opacity:1}.form-ghost:disabled{color:var(--bs-fg-4);cursor:not-allowed}}@layer forms{b-checkgroup{display:flex;gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start)}b-checkgroup .description{color:var(--bs-secondary-text)}.check{--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-checked-bg:var(--bs-primary-base);--bs-check-checked-border-color:var(--bs-primary-base);--bs-check-indeterminate-bg:var(--bs-primary-base);--bs-check-indeterminate-border-color:var(--bs-primary-base);--bs-check-disabled-bg:var(--bs-bg-3);--bs-check-disabled-opacity:0.65;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));margin-block:0.125rem}.check :where(svg,input){flex-shrink:0;grid-row-start:1;grid-column-start:1;width:1rem;height:1rem}.check :where(input){-webkit-appearance:none;appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.25em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check :where(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.check:has(input:checked) .checked,.check:has(input:indeterminate) .indeterminate{display:block;color:var(--bs-primary-contrast);stroke:currentcolor}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}}@layer forms{b-radiogroup{display:flex;gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start)}b-radiogroup .description{color:var(--bs-secondary-text)}.radio{--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-primary-base);--bs-radio-checked-border-color:var(--bs-primary-base);--bs-radio-disabled-bg:var(--bs-bg-3);--bs-radio-disabled-opacity:0.65;position:relative;flex-shrink:0;width:1rem;height:1rem;margin-block:0.125rem;-webkit-appearance:none;appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked::before{position:absolute;inset:0.25rem;content:"";background-color:currentcolor;border-radius:50%}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}.radio:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}}@layer forms{.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-bg:var(--bs-secondary-bg);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-primary-base);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-secondary-bg);--bs-switch-disabled-indicator-bg:var(--bs-secondary-text);position:relative;display:flex;flex-shrink:0;align-items:stretch;justify-content:flex-start;width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.05);transition:.15s ease-in-out;transition-property:padding-inline-start,background-color}.switch::before{flex-shrink:0;width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-switch-indicator-bg);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.1)}.switch input{position:absolute;inset:0;-webkit-appearance:none;appearance:none;background-color:transparent;outline:0}.switch:focus-within{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.switch:has(input:checked){padding-inline-start:calc(var(--bs-switch-height)/ 2 + var(--bs-switch-padding));background-color:var(--bs-theme-bg,var(--bs-switch-checked-bg));border-color:var(--bs-theme-bg,var(--bs-switch-checked-border-color))}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled)::before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1em}.switch-lg{--bs-switch-height:2em}}@layer forms{.form-range{width:100%;height:calc(1rem + var(--bs-focus-ring-width) * 2);padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range:focus::-moz-range-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:var(--bs-primary-bg);border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-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}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:tint-color(var(--bs-primary-bg),70%)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:var(--bs-primary-bg);border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-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}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:tint-color(var(--bs-primary-bg),70%)}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}}@layer forms{.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-inline-start:0.75rem;padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-bg-body);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:var(--bs-gray-600)}}@layer forms{.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:14px;line-height:1.5;color:var(--bs-color-body);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:17.5px;border-radius:var(--bs-border-radius-lg)}.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:12.25px;border-radius:var(--bs-border-radius-sm)}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-start-end-radius:0;border-end-end-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.dropdown-menu){margin-inline-start:calc(-1 * var(--bs-border-width));border-start-start-radius:0;border-end-start-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}}@layer forms{.strength{--bs-strength-height:0.375rem;--bs-strength-gap:0.25rem;--bs-strength-bg:var(--bs-bg-2);--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-color:var(--bs-bg-2);display:flex;gap:var(--bs-strength-gap);width:100%;margin-top:.25rem}.strength-segment{flex:1;height:var(--bs-strength-height);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-segment{transition:none}}.strength-segment.active{background-color:var(--bs-strength-color)}.strength[data-bs-strength=weak]{--bs-strength-color:var(--bs-danger-bg)}.strength[data-bs-strength=fair]{--bs-strength-color:var(--bs-warning-bg)}.strength[data-bs-strength=good]{--bs-strength-color:var(--bs-info-bg)}.strength[data-bs-strength=strong]{--bs-strength-color:var(--bs-success-bg)}.strength-text{display:block;margin-top:.25rem;font-size:.875em;color:var(--bs-strength-color,var(--bs-secondary-color));transition:color .2s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-text{transition:none}}.strength-text:empty{display:none}.strength-bar{--bs-strength-height:0.375rem;--bs-strength-bg:var(--bs-bg-2);--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-color:transparent;--bs-strength-width:0%;width:100%;height:var(--bs-strength-height);margin-top:.25rem;overflow:hidden;background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius)}.strength-bar::after{display:block;width:var(--bs-strength-width);height:100%;content:"";background-color:var(--bs-strength-color);border-radius:var(--bs-strength-border-radius);transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-bar::after{transition:none}}.strength-bar[data-bs-strength=weak]{--bs-strength-color:var(--bs-danger-bg);--bs-strength-width:25%}.strength-bar[data-bs-strength=fair]{--bs-strength-color:var(--bs-warning-bg);--bs-strength-width:50%}.strength-bar[data-bs-strength=good]{--bs-strength-color:var(--bs-info-bg);--bs-strength-width:75%}.strength-bar[data-bs-strength=strong]{--bs-strength-color:var(--bs-success-bg);--bs-strength-width:100%}}@layer forms{.otp{--bs-otp-size:3rem;--bs-otp-font-size:17.5px;--bs-otp-gap:0.5rem;display:inline-flex;gap:var(--bs-otp-gap)}.otp .form-control{width:var(--bs-otp-size);min-height:var(--bs-otp-size);padding:0;font-size:var(--bs-otp-font-size);font-weight:500;line-height:1;text-align:center}.otp .form-control::-webkit-inner-spin-button,.otp .form-control::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.otp .form-control[type=number]{-webkit-appearance:textfield;appearance:textfield}.otp .form-control:focus,.otp .form-control:focus-visible{z-index:1}.otp.is-valid .form-control,.was-validated .otp:valid .form-control{border-color:var(--bs-form-valid-border-color)}.otp.is-valid .form-control:focus,.was-validated .otp:valid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-success-rgb), .25);border-color:var(--bs-form-valid-border-color)}.otp.is-invalid .form-control,.was-validated .otp:invalid .form-control{border-color:var(--bs-form-invalid-border-color)}.otp.is-invalid .form-control:focus,.was-validated .otp:invalid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), .25);border-color:var(--bs-form-invalid-border-color)}.otp.input-group{gap:0;width:auto}.otp.input-group .form-control{flex:0 0 auto}.otp-separator{display:flex;align-items:center;padding-inline:var(--bs-otp-gap);font-size:var(--bs-otp-font-size);color:var(--bs-fg-4);-webkit-user-select:none;user-select:none}.otp-sm{--bs-otp-size:2.25rem;--bs-otp-font-size:14px}.otp-lg{--bs-otp-size:3.5rem;--bs-otp-font-size:21.875px}}@layer forms{.form-adorn{--bs-control-min-height:2.5rem;--bs-control-padding-y:0.375rem;--bs-control-padding-x:0.75rem;--bs-control-font-size:14px;--bs-control-line-height:1.5;--bs-control-color:var(--bs-color-body);--bs-control-bg:var(--bs-bg-body);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-form-adorn-gap:0.375rem;--bs-form-adorn-icon-size:1rem;--bs-form-adorn-icon-color:var(--bs-fg-2);display:flex;gap:var(--bs-form-adorn-gap);align-items:center;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-color);background-color:var(--bs-control-bg);background-clip:padding-box;border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-box-shadow-inset);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-adorn{transition:none}}.form-adorn:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-primary-border);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-adorn>.form-ghost{flex:1;min-width:0}.form-adorn.form-adorn-end>.form-ghost{order:-1}.form-adorn-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--bs-form-adorn-icon-color);pointer-events:none}.form-adorn-icon>svg{width:var(--bs-form-adorn-icon-size);height:var(--bs-form-adorn-icon-size)}.form-adorn-text{flex-shrink:0;color:var(--bs-form-adorn-icon-color);pointer-events:none;-webkit-user-select:none;user-select:none}.form-adorn-sm{--bs-control-min-height:2rem;--bs-control-padding-y:0.25rem;--bs-control-padding-x:0.5rem;--bs-control-font-size:12.25px;--bs-control-line-height:1.25;--bs-control-border-radius:var(--bs-border-radius-sm)}.form-adorn-lg{--bs-control-min-height:3rem;--bs-control-padding-y:0.5rem;--bs-control-padding-x:1rem;--bs-control-font-size:17.5px;--bs-control-line-height:2;--bs-control-border-radius:var(--bs-border-radius-lg)}}@layer components{.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.75rem;--bs-tooltip-padding-y:0.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.95;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}}@layer forms{.valid-feedback{display:none;width:100%;margin-top:.5rem;font-size:12.25px;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.375rem .75rem;margin-top:.1rem;font-size:var(--bs-font-size-sm);color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);padding-inline-end:add(1.5em,0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right add(.375em,.1875rem) center;background-size:add(.75em,.375rem) add(.75em,.375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:var(--bs-box-shadow-inset)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-inline-end:add(1.5em,0.75rem);background-position:top add(.375em,.1875rem) right add(.375em,.1875rem)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:add(3rem,add(1.5em,.75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-inline-start:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.5rem;font-size:12.25px;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.375rem .75rem;margin-top:.1rem;font-size:var(--bs-font-size-sm);color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);padding-inline-end:add(1.5em,0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right add(.375em,.1875rem) center;background-size:add(.75em,.375rem) add(.75em,.375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:var(--bs-box-shadow-inset)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-inline-end:add(1.5em,0.75rem);background-position:top add(.375em,.1875rem) right add(.375em,.1875rem)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:add(3rem,add(1.5em,.75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-inline-start:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}}@layer components{.btn,.btn-outline,.btn-solid,.btn-subtle,.btn-text{--bs-btn-min-height:2.25rem;--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-size:var(--bs-font-size-base);--bs-btn-font-weight:var(--bs-font-weight-normal);--bs-btn-line-height:var(--bs-line-height-base);--bs-btn-color:var(--bs-fg-body);--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:0.65;display:inline-flex;gap:var(--bs-btn-gap,.25rem);align-items:center;justify-content:center;min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition: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,.btn-outline,.btn-solid,.btn-subtle,.btn-text{transition:none}}.btn-outline:hover,.btn-solid:hover,.btn-subtle:hover,.btn-text:hover,.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn-outline:focus-visible,.btn-solid:focus-visible,.btn-subtle:focus-visible,.btn-text:focus-visible,.btn:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-outline.active,.btn-outline.show,.btn-solid.active,.btn-solid.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn-outline.active:focus-visible,.btn-outline.show:focus-visible,.btn-solid.active:focus-visible,.btn-solid.show:focus-visible,.btn-subtle.active:focus-visible,.btn-subtle.show:focus-visible,.btn-text.active:focus-visible,.btn-text.show:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.disabled,.btn-outline:disabled,.btn-solid.disabled,.btn-solid:disabled,.btn-subtle.disabled,.btn-subtle:disabled,.btn-text.disabled,.btn-text:disabled,.btn.disabled,.btn:disabled,fieldset:disabled .btn,fieldset:disabled .btn-outline,fieldset:disabled .btn-solid,fieldset:disabled .btn-subtle,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid.active,.btn-solid.btn-check:has(input:checked),.btn-solid:active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid.btn-check:has(input:disabled),.btn-solid.disabled,.btn-solid:disabled{--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline.active,.btn-outline.btn-check:has(input:checked),.btn-outline:active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline.btn-check:has(input:disabled),.btn-outline.disabled,.btn-outline:disabled{--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle.active,.btn-subtle.btn-check:has(input:checked),.btn-subtle:active{--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle.btn-check:has(input:disabled),.btn-subtle.disabled,.btn-subtle:disabled{--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text.active,.btn-text.btn-check:has(input:checked),.btn-text:active{--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text.btn-check:has(input:disabled),.btn-text.disabled,.btn-text:disabled{--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-fg-3);--bs-btn-disabled-border-color:transparent;color:var(--bs-theme-text,var(--bs-btn-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration)}.btn-link:focus-visible{color:var(--bs-theme-text,var(--bs-btn-color))}.btn-link:hover{color:var(--bs-theme-text-emphasis,var(--bs-btn-hover-color))}.btn-group-xs>[class*=btn-],.btn-xs{--bs-btn-min-height:1.5rem;--bs-btn-padding-y:0.125rem;--bs-btn-padding-x:0.375rem;--bs-btn-font-size:var(--bs-font-size-xs);--bs-btn-line-height:1.125rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.btn-group-sm>[class*=btn-],.btn-sm{--bs-btn-min-height:2rem;--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:var(--bs-font-size-sm);--bs-btn-line-height:1.125rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.btn-group-lg>[class*=btn-],.btn-lg{--bs-btn-min-height:2.75rem;--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:var(--bs-font-size-md);--bs-btn-line-height:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-icon{align-items:center;justify-content:center;aspect-ratio:1;padding:0}.btn-check>input{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow)}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none}.btn-styled{--bs-btn-gradient-start:rgb(255 255 255 / 12.5%);--bs-btn-gradient-end:rgb(0 0 0 / 7.5%);--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px rgb(0 0 0 / 15%),inset 0 1px 0 rgb(255 255 255 / 10%);--bs-btn-active-shadow:inset 0 2px 4px rgba(0, 0, 0, .15);background-image:linear-gradient(to bottom,var(--bs-btn-gradient-start),var(--bs-btn-gradient-end));border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom,var(--bs-btn-gradient-start),var(--bs-btn-gradient-end));border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled.active,.btn-styled:active{background-image:none;border-color:color-mix(in lab,var(--bs-theme-bg),var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow)}.btn-styled.disabled,.btn-styled:disabled{background-image:none;box-shadow:none}}@layer components{.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>[class*=btn-],.btn-group>[class*=btn-]{position:relative;flex:1 1 auto}.btn-group-vertical>[class*=btn-]:hover,.btn-group>[class*=btn-]:hover{z-index:1}.btn-group-vertical>.btn-check:has(input:checked),.btn-group-vertical>[class*=btn-].active,.btn-group-vertical>[class*=btn-]:active,.btn-group>.btn-check:has(input:checked),.btn-group>[class*=btn-].active,.btn-group>[class*=btn-]:active{z-index:2}.btn-group-vertical>.btn-check:has(input:focus),.btn-group-vertical>[class*=btn-]:focus,.btn-group>.btn-check:has(input:focus),.btn-group>[class*=btn-]:focus{z-index:3}.btn-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>[class*=btn-]:not(:first-child){margin-inline-start:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>[class*=btn-],.btn-group>[class*=btn-]:not(:last-child):not(.dropdown-toggle){border-start-end-radius:0;border-end-end-radius:0}.btn-group>.btn-group:not(:first-child)>[class*=btn-],.btn-group>[class*=btn-]:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.dropdown-toggle-split{padding-inline:0.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-inline-start:0}.dropstart .dropdown-toggle-split::before{margin-inline-end:0}.btn-sm+.dropdown-toggle-split{padding-inline:0.375rem}.btn-lg+.dropdown-toggle-split{padding-inline:0.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn-group,.btn-group-vertical>[class*=btn-]{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>[class*=btn-]:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-],.btn-group-vertical>[class*=btn-]:not(:last-child):not(.dropdown-toggle){border-end-start-radius:0;border-end-end-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-],.btn-group-vertical>[class*=btn-]:not(:first-child){border-start-start-radius:0;border-start-end-radius:0}}@layer components{.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:var(--bs-fg-body);--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-opacity:0.85;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);padding:0;color:var(--bs-btn-close-color);background:0 0;border:0;border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity)}.btn-close>svg{display:block;width:100%;height:100%;fill:currentcolor}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:var(--bs-focus-ring);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}}@layer components{.accordion{--bs-accordion-color:var(--bs-color-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-accordion-radius, var(--bs-border-radius-lg));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-header{display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:14px;color:var(--bs-accordion-btn-color);text-align:start;list-style:none;cursor:pointer;background-color:var(--bs-accordion-btn-bg);transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-header{transition:none}}.accordion-header .accordion-icon{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-inline-start:auto;color:currentcolor;transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-header .accordion-icon{transition:none}}.accordion-header:hover{z-index:2}.accordion-header:focus-visible{position:relative;z-index:3;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);outline-offset:-1px}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-start-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-start-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-start-radius:var(--bs-accordion-border-radius);border-end-end-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header{border-end-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-end-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:last-of-type>.accordion-body{border-end-start-radius:var(--bs-accordion-border-radius);border-end-end-radius:var(--bs-accordion-border-radius)}.accordion-item[open]{border-color:var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header{color:var(--bs-theme-text,var(--bs-accordion-active-color));background-color:var(--bs-theme-bg-subtle,var(--bs-accordion-active-bg));box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header .accordion-icon{transform:var(--bs-accordion-btn-icon-transform)}.accordion-item[open]:last-of-type>.accordion-header{border-end-start-radius:0;border-end-end-radius:0}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-body,.accordion-flush>.accordion-item>.accordion-header{border-radius:0}}@layer components{.alert{--bs-alert-gap:0.75rem;--bs-alert-bg:var(--bs-theme-bg-subtle, var(--bs-bg-1));--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-color:var(--bs-theme-text, inherit);--bs-alert-border-color:var(--bs-theme-border, var(--bs-border-color));--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;--bs-hr-border-color:var(--bs-theme-border, var(--bs-border-color));display:flex;gap:var(--bs-alert-gap);align-items:start;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:600;color:var(--bs-alert-link-color)}}@layer components{.badge{--bs-badge-padding-x:0.625em;--bs-badge-padding-y:0.25em;--bs-badge-font-size:clamp(12px, 0.75em, 0.75em);--bs-badge-font-weight:600;--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:1px;--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius-lg);display:inline-flex;align-items:center;justify-content:center;min-height:1.375rem;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}}@layer components{.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size: ;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius:var(--bs-border-radius);--bs-breadcrumb-divider-color:var(--bs-fg-4);--bs-breadcrumb-link-padding-x:0.75rem;--bs-breadcrumb-link-padding-y:0.25rem;--bs-breadcrumb-link-color:var(--bs-fg-3);--bs-breadcrumb-link-hover-color:var(--bs-fg-2);--bs-breadcrumb-link-hover-bg:var(--bs-bg-1);--bs-breadcrumb-link-active-color:var(--bs-fg-1);--bs-breadcrumb-link-border-radius:var(--bs-border-radius-lg);display:flex;flex-wrap:wrap;align-items:center;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item{display:flex}.breadcrumb-divider{margin-inline:calc(var(--bs-breadcrumb-link-padding-x)/ 4);color:var(--bs-breadcrumb-divider-color)}.breadcrumb-link{position:relative;display:flex;align-items:center;justify-content:center;min-height:2.25rem;padding:var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);color:var(--bs-breadcrumb-link-color);text-decoration:none;border-radius:var(--bs-breadcrumb-link-border-radius);transition:.1s text-decoration-color ease-in-out}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.breadcrumb-link:hover{z-index:2;color:var(--bs-breadcrumb-link-hover-color);background-color:var(--bs-breadcrumb-link-hover-bg)}.breadcrumb-link.active{color:var(--bs-breadcrumb-link-active-color)}}@layer components{.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-card-cap-padding-y:0.75rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:var(--bs-bg-1);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;--bs-card-body-gap:0.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-color-body);word-wrap:break-word;background-color:var(--bs-card-bg);box-shadow:var(--bs-card-box-shadow)}.card>hr{margin-inline:0}.card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--bs-card-body-gap);align-items:flex-start;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color);border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body>*{margin-block:0}.card-body,.card-list{border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body:first-child,.card-list:first-child{border-start-start-radius:var(--bs-card-border-radius);border-start-end-radius:var(--bs-card-border-radius);border-top-width:var(--bs-card-border-width)}.card-body:last-child,.card-list:last-child{border-end-start-radius:var(--bs-card-border-radius);border-end-end-radius:var(--bs-card-border-radius);border-bottom-width:var(--bs-card-border-width)}.card-body:not(:first-child):not(:last-child),.card-list:not(:first-child):not(:last-child){border-block-end-width:var(--bs-card-border-width)}.card-subtitle{margin-top:calc(var(--bs-card-body-gap) * -.5)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-theme-contrast,var(--bs-card-cap-color));background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color))}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color))}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-subtle{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-header{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-footer{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-body,.card-subtle .card-list{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.nav.card-header-tabs{margin-inline:calc(-0.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.nav.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%;outline:var(--bs-card-border-width) solid var(--bs-card-border-color);outline-offset:calc(var(--bs-card-border-width) * -1)}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-start-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-row{flex-direction:row}.card-row .card-body,.card-row .card-list{border-width:var(--bs-card-border-width) 0;border-radius:0}.card-row .card-body:first-child,.card-row .card-list:first-child{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius);border-inline-start-width:var(--bs-card-border-width)}.card-row .card-body:last-child,.card-row .card-list:last-child{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius);border-inline-end-width:var(--bs-card-border-width)}.card-row .card-body:not(:first-child):not(:last-child),.card-row .card-list:not(:first-child):not(:last-child){border-inline-end-width:var(--bs-card-border-width)}.card-img-start{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-img-end{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (width >= 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-inline-start:0;border-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-end-start-radius:0}}}@layer components{.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;display:flow-root;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;float:inline-start;width:100%;margin-inline-end:-100%;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-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;inset-block:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;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{inset-inline-start:0}.carousel-control-next{inset-inline-end:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"))}[dir=rtl] .carousel-control-prev-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"))}.carousel-control-next-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"))}[dir=rtl] .carousel-control-next-icon{background-image:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"))}.carousel-indicators{position:absolute;inset:auto 0 0;z-index:2;display:flex;justify-content:center;padding:0;margin-inline:15%;margin-bottom:1rem}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-inline:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-block:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}@layer components{[data-vc=calendar]{--bs-datepicker-padding:1rem;--bs-datepicker-bg:var(--bs-bg-body);--bs-datepicker-color:var(--bs-fg-body);--bs-datepicker-border-color:var(--bs-border-color-translucent);--bs-datepicker-border-width:var(--bs-border-width);--bs-datepicker-border-radius:var(--bs-border-radius-lg);--bs-datepicker-box-shadow:var(--bs-box-shadow);--bs-datepicker-font-size:var(--bs-font-size-sm);--bs-datepicker-min-width:280px;--bs-datepicker-zindex:1000;--bs-datepicker-header-font-weight:600;--bs-datepicker-weekday-color:var(--bs-fg-3);--bs-datepicker-day-hover-bg:var(--bs-bg-1);--bs-datepicker-day-selected-bg:var(--bs-primary-bg);--bs-datepicker-day-selected-color:var(--bs-primary-contrast);--bs-datepicker-day-today-bg:var(--bs-bg-2);--bs-datepicker-day-today-color:var(--bs-fg-1);--bs-datepicker-day-disabled-color:var(--bs-fg-4);position:absolute;z-index:var(--bs-datepicker-zindex);box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--bs-datepicker-min-width);padding:var(--bs-datepicker-padding);font-family:var(--bs-font-sans-serif);font-size:var(--bs-datepicker-font-size);color:var(--bs-datepicker-color);color-scheme:light dark;background-color:var(--bs-datepicker-bg);border:var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);border-radius:var(--bs-datepicker-border-radius);box-shadow:var(--bs-datepicker-box-shadow);opacity:1}[data-vc=calendar][data-bs-theme=light]{color-scheme:light}[data-vc=calendar][data-bs-theme=dark]{color-scheme:dark}[data-vc=calendar] button:focus-visible{position:relative;z-index:1;outline:var(--bs-focus-ring)}[data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar]:not([data-vc-input]){position:relative;width:-moz-fit-content;width:fit-content;padding:0;border:0;box-shadow:none}[data-vc-position=bottom]{margin-block-start:0.25rem}[data-vc-position=top]{margin-block-end:-0.25rem}[data-vc-arrow]{position:relative;display:block;width:2rem;height:2rem;color:var(--bs-datepicker-color);pointer-events:auto;cursor:pointer;background-color:transparent;border:0;border-radius:.5rem}[data-vc-arrow]::before{position:absolute;inset:0.25rem;content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");background-repeat:no-repeat;background-position:center}[data-vc-arrow]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-arrow=prev]::before{transform:rotate(90deg)}[data-vc-arrow=next]::before{transform:rotate(-90deg)}[data-vc=controls]{position:absolute;top:0;right:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-right:1rem;padding-left:1rem;pointer-events:none}[data-vc=grid]{display:flex;flex-grow:1;flex-wrap:wrap;gap:1.75rem}[data-vc=column]{display:flex;flex-grow:1;flex-direction:column;min-width:240px}[data-vc=header]{position:relative;display:flex;align-items:center;margin-bottom:.75rem}[data-vc-header=content]{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;white-space:pre-wrap}[data-vc=month],[data-vc=year]{padding:.25rem .5rem;margin-inline:-0.125rem;font-size:1rem;font-weight:var(--bs-datepicker-header-font-weight);color:var(--bs-datepicker-color);background-color:transparent;border:0;border-radius:.5rem}[data-vc=month]:disabled,[data-vc=year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc=month]:hover:not(:disabled),[data-vc=year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc=content]{display:flex;flex-grow:1;flex-direction:column}[data-vc=months],[data-vc=years]{display:grid;flex-grow:1;grid-template-columns:repeat(var(--bs-vc-columns,4),minmax(0,1fr));row-gap:1rem;-moz-column-gap:0.25rem;column-gap:.25rem;align-items:center}[data-vc=years]{--bs-vc-columns:5}[data-vc-months-month],[data-vc-years-year]{display:flex;align-items:center;justify-content:center;height:2.5rem;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;color:var(--bs-datepicker-weekday-color);text-align:center;word-break:break-all;cursor:pointer;background-color:transparent;border:0;border-radius:.5rem}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc-months-month]:hover:not(:disabled),[data-vc-years-year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-months-month][data-vc-months-month-selected],[data-vc-months-month][data-vc-years-year-selected],[data-vc-years-year][data-vc-months-month-selected],[data-vc-years-year][data-vc-years-year-selected]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-months-month][data-vc-months-month-selected]:hover,[data-vc-months-month][data-vc-years-year-selected]:hover,[data-vc-years-year][data-vc-months-month-selected]:hover,[data-vc-years-year][data-vc-years-year-selected]:hover{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc=week]{display:grid;grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem}[data-vc-week-day]{display:flex;align-items:center;justify-content:center;width:100%;min-width:1.875rem;padding:0;margin:0;font-size:.75rem;font-weight:600;line-height:1rem;color:var(--bs-datepicker-weekday-color);background-color:transparent;border:0}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{display:grid;flex-grow:1;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center;pointer-events:none}[data-vc-date]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding-top:.125rem;padding-bottom:.125rem;pointer-events:auto}[data-vc-date]:not(:has([data-vc-date-btn])),[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date-btn]{display:flex;align-items:center;justify-content:center;width:100%;min-width:1.875rem;height:100%;min-height:1.875rem;padding:0;font-size:.75rem;font-weight:400;line-height:1rem;color:var(--bs-datepicker-color);cursor:pointer;background-color:transparent;border:0;border-radius:.5rem}[data-vc-date-btn]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-date-today] [data-vc-date-btn]{font-weight:600;color:var(--bs-datepicker-day-today-color);background-color:var(--bs-datepicker-day-today-bg)}[data-vc-date-month=next] [data-vc-date-btn],[data-vc-date-month=prev] [data-vc-date-btn]{opacity:.5}[data-vc-date-disabled] [data-vc-date-btn]{color:var(--bs-datepicker-day-disabled-color)}[data-vc-date-hover] [data-vc-date-btn]{background-color:var(--bs-datepicker-day-hover-bg);border-radius:0}[data-vc-date-hover=first] [data-vc-date-btn]{border-start-start-radius:0.5rem;border-end-start-radius:0.5rem}[data-vc-date-hover=last] [data-vc-date-btn]{border-start-end-radius:0.5rem;border-end-end-radius:0.5rem}[data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:.5rem}[data-vc-date-selected=middle] [data-vc-date-btn]{border-radius:0;opacity:.8}[data-vc-date-selected] [data-vc-date-btn]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-date-selected=first] [data-vc-date-btn]{border-top-left-radius:.5rem;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:.5rem}[data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-bottom-left-radius:0}[data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-radius:.5rem}}@layer components{.dialog-open{overflow:hidden;scrollbar-gutter:stable}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--bs-dialog-border-color:var(--bs-border-color-translucent);--bs-dialog-border-width:var(--bs-border-width);--bs-dialog-border-radius:var(--bs-border-radius-lg);--bs-dialog-box-shadow:var(--bs-box-shadow-lg);--bs-dialog-backdrop-bg:rgba(0, 0, 0, 0.5);--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:0.5rem;max-width:var(--bs-dialog-width);max-height:calc(100% - var(--bs-dialog-margin) * 2);padding:0;margin:auto;color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);background-clip:padding-box;border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow)}.dialog::backdrop{background-color:var(--bs-dialog-backdrop-bg)}.dialog.fade{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade{transition:none}}.dialog.fade::backdrop{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade::backdrop{transition:none}}.dialog.fade[open]{opacity:1}.dialog.fade[open]::backdrop{opacity:1}.dialog.dialog-static{transform:scale(1.02)}.dialog.dialog-nonmodal{position:fixed;inset-block-start:50%;inset-inline-start:50%;z-index:1055;margin-inline:0;transform:translate(-50%,-50%)}.dialog.dialog-overflow{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);margin:0;overflow-y:auto;overscroll-behavior:contain;background:0 0;border:0;box-shadow:none}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);margin-block-end:var(--bs-dialog-margin);margin-inline:auto;color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);background-clip:padding-box;border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow)}.dialog.dialog-scrollable[open]{display:flex;flex-direction:column;max-height:calc(100% - var(--bs-dialog-margin) * 2)}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media (width < 576px){.dialog-fullscreen-sm-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 768px){.dialog-fullscreen-md-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1024px){.dialog-fullscreen-lg-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1280px){.dialog-fullscreen-xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width < 1536px){.dialog-fullscreen-2xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color)}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{margin-bottom:0;font-size:var(--bs-font-size-md);line-height:1.5}.dialog-body{position:relative;flex:1 1 auto;padding:var(--bs-dialog-padding);overflow-y:auto}.dialog-footer{display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--bs-dialog-footer-gap);align-items:center;justify-content:flex-end;padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color)}}@layer components{.dropdown{position:relative}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-gap:0.125rem;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0.25rem;--bs-dropdown-padding-y:0.25rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:14px;--bs-dropdown-color:var(--bs-fg-body);--bs-dropdown-bg:var(--bs-bg-body);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius-lg);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.125rem;--bs-dropdown-divider-margin-x:0.25rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-fg-body);--bs-dropdown-link-hover-color:var(--bs-fg-body);--bs-dropdown-link-hover-bg:var(--bs-bg-1);--bs-dropdown-link-active-color:var(--bs-primary-contrast);--bs-dropdown-link-active-bg:var(--bs-primary-bg);--bs-dropdown-link-disabled-color:var(--bs-fg-3);--bs-dropdown-item-gap:0.5rem;--bs-dropdown-item-padding-x:0.75rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-item-border-radius:var(--bs-border-radius);--bs-dropdown-header-color:var(--bs-gray-600);--bs-dropdown-header-padding-x:0.75rem;--bs-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;flex-direction:column;gap:var(--bs-dropdown-gap);min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:start;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);box-shadow:var(--bs-dropdown-box-shadow)}.dropdown-menu.show{display:flex}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) var(--bs-dropdown-divider-margin-x);overflow:hidden;border-block-start:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:flex;gap:var(--bs-dropdown-item-gap);align-items:center;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:12.25px;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-fg-2)}.dropdown-menu-dark{--bs-dropdown-color:var(--bs-gray-300);--bs-dropdown-bg:var(--bs-gray-900);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:var(--bs-gray-300);--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:var(--bs-primary-contrast);--bs-dropdown-link-active-bg:var(--bs-primary-bg);--bs-dropdown-link-disabled-color:var(--bs-gray-500);--bs-dropdown-header-color:var(--bs-gray-500)}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-item{display:flex;align-items:center;justify-content:space-between}.dropdown-submenu>.dropdown-item::after{display:inline-block;flex-shrink:0;width:.375em;height:.375em;margin-inline-start:auto;content:"";border-color:currentcolor;border-style:solid;border-width:0 .125em .125em 0;transform:rotate(-45deg)}[dir=rtl] .dropdown-submenu>.dropdown-item::after{transform:rotate(135deg)}.dropdown-submenu>.dropdown-menu{top:0;margin-top:calc(-1 * var(--bs-dropdown-padding-y))}.dropdown-submenu:focus-within>.dropdown-item,.dropdown-submenu:hover>.dropdown-item{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-submenu.show>.dropdown-item{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}}@layer components{.list-group{--bs-list-group-color:var(--bs-color-body);--bs-list-group-bg:var(--bs-bg-body);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-color-body);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);display:flex;flex-direction:column;padding-inline-start:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color))}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));text-decoration:none;background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg))}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-active-bg))}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}@media (width >= 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1024px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1280px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}@media (width >= 1536px){.list-group-horizontal-2xl{flex-direction:row}.list-group-horizontal-2xl>.list-group-item:first-child:not(:last-child){border-end-start-radius:var(--bs-list-group-border-radius);border-start-end-radius:0}.list-group-horizontal-2xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-2xl>.list-group-item.active{margin-top:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item.active{margin-inline-start:calc(-1 * var(--bs-list-group-border-width));border-inline-start-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-block-end-width:0}}@layer components{.nav{--bs-nav-gap:0.125rem;--bs-nav-link-gap:0.5rem;--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);display:flex;flex-wrap:wrap;gap:var(--bs-nav-gap);padding-inline-start:0;margin-bottom:0;list-style:none}.nav-item{display:flex}.nav-link{display:flex;gap:var(--bs-nav-link-gap);align-items:center;justify-content:center;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;border-radius:var(--bs-border-radius);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:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{--bs-focus-ring-offset:1px;color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);border-block-end:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-end-start-radius:0;border-end-end-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color)}.nav-underline .nav-link{padding-inline:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-block-end-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}}@layer components{.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg);--bs-navbar-brand-padding-y:0.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:17.5px;--bs-navbar-brand-color:var(--bs-fg);--bs-navbar-brand-hover-color:var(--bs-fg);--bs-navbar-nav-link-padding-x:0.75rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:17.5px;--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"));--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-2xl,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-inline-end:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-inline-start:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-text{color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus-visible{text-decoration:none;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (width >= 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none!important}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none!important}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1024px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none!important}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1280px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none!important}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (width >= 1536px){.navbar-expand-2xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-2xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-2xl .navbar-nav-scroll{overflow:visible}.navbar-expand-2xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-2xl .navbar-toggler{display:none!important}.navbar-expand-2xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-2xl .offcanvas .offcanvas-header{display:none}.navbar-expand-2xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))}}.offcanvas,.offcanvas-2xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-color-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@layer components{@media (width < 576px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 576px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (width < 576px){.offcanvas-sm.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-sm.offcanvas-start{transform:translateX(100%)}.offcanvas-sm.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-sm.offcanvas-end{transform:translateX(-100%)}.offcanvas-sm.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (width >= 576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 768px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 768px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (width < 768px){.offcanvas-md.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-md.offcanvas-start{transform:translateX(100%)}.offcanvas-md.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-md.offcanvas-end{transform:translateX(-100%)}.offcanvas-md.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (width >= 768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1024px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1024px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (width < 1024px){.offcanvas-lg.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-lg.offcanvas-start{transform:translateX(100%)}.offcanvas-lg.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-lg.offcanvas-end{transform:translateX(-100%)}.offcanvas-lg.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (width >= 1024px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1280px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1280px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (width < 1280px){.offcanvas-xl.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-xl.offcanvas-start{transform:translateX(100%)}.offcanvas-xl.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-xl.offcanvas-end{transform:translateX(-100%)}.offcanvas-xl.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (width >= 1280px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (width < 1536px){.offcanvas-2xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}}@media (width < 1536px) and (prefers-reduced-motion:reduce){.offcanvas-2xl{transition:none}}@media (width < 1536px){.offcanvas-2xl.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas-2xl.offcanvas-start{transform:translateX(100%)}.offcanvas-2xl.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas-2xl.offcanvas-end{transform:translateX(-100%)}.offcanvas-2xl.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-2xl.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-2xl.show:not(.hiding),.offcanvas-2xl.showing{transform:none}.offcanvas-2xl.hiding,.offcanvas-2xl.show,.offcanvas-2xl.showing{visibility:visible}}@media (width >= 1536px){.offcanvas-2xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-2xl .offcanvas-header{display:none}.offcanvas-2xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{inset-block:0;inset-inline-start:0;width:var(--bs-offcanvas-width);border-inline-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}:root:dir(rtl) .offcanvas.offcanvas-start{transform:translateX(100%)}.offcanvas.offcanvas-end{inset-block:0;inset-inline-end:0;width:var(--bs-offcanvas-width);border-inline-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}:root:dir(rtl) .offcanvas.offcanvas-end{transform:translateX(-100%)}.offcanvas.offcanvas-top{inset:0 0 auto;height:var(--bs-offcanvas-height);max-height:100%;border-block-end:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{inset:auto 0 0;height:var(--bs-offcanvas-height);max-height:100%;border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;inset:0;z-index:1040;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-offcanvas-padding-x));margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}}@layer components{.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:14px;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-inline-start:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus-visible{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-inline-start:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:17.5px;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:12.25px;--bs-pagination-border-radius:var(--bs-border-radius-sm)}}@layer components{.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}}@layer components{.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.75rem;--bs-popover-header-font-size:14px;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:0.75rem;--bs-popover-body-color:var(--bs-color-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-block-start-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-inline-end-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-block-end-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-auto[data-bs-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-inline-start-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-bs-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}}@layer components{@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:10.5px;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-theme-contrast,var(--bs-progress-bar-color));text-align:center;white-space:nowrap;background-color:var(--bs-theme-bg,var(--bs-progress-bar-bg));transition:var(--bs-progress-bar-transition)}@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:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}}@layer components{.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}}@layer components{.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-block-end:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-start-start-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-start-end-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-inline-start:var(--bs-toast-padding-x);margin-inline-end:calc(-.5 * var(--bs-toast-padding-x))}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}.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}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}}@layer helpers{.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}}@layer helpers{.fixed-top{position:fixed;inset:0 0 auto;z-index:1030}.fixed-bottom{position:fixed;inset:auto 0 0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (width >= 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1024px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1280px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (width >= 1536px){.sticky-2xl-top{position:sticky;top:0;z-index:1020}.sticky-2xl-bottom{position:sticky;bottom:0;z-index:1020}}}@layer helpers{.hstack,b-hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.hstack-start,b-hstack[align=start]{display:flex;flex-direction:row;align-items:flex-start;align-self:stretch}.vstack,b-vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}}@layer helpers{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}}@layer helpers{.stretched-link::after{position:absolute;inset:0;z-index:1;content:""}}@layer helpers{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer helpers{.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:var(--bs-border-color)}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1/1}.ratio-4x3{--bs-ratio:4/3}.ratio-16x9{--bs-ratio:16/9}.ratio-21x9{--bs-ratio:21/9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body))}.focus-ring-accent{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body))}.focus-ring-success{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body))}.focus-ring-danger{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body))}.focus-ring-warning{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body))}.focus-ring-info{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translateX(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900), var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200), var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100), var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300), var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300), var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300), var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300), var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300), var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300), var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400), var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300), var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch,var(--bs-border-color) 10%,transparent)}.border-20{border-color:color-mix(in oklch,var(--bs-border-color) 20%,transparent)}.border-30{border-color:color-mix(in oklch,var(--bs-border-color) 30%,transparent)}.border-40{border-color:color-mix(in oklch,var(--bs-border-color) 40%,transparent)}.border-50{border-color:color-mix(in oklch,var(--bs-border-color) 50%,transparent)}.border-60{border-color:color-mix(in oklch,var(--bs-border-color) 60%,transparent)}.border-70{border-color:color-mix(in oklch,var(--bs-border-color) 70%,transparent)}.border-80{border-color:color-mix(in oklch,var(--bs-border-color) 80%,transparent)}.border-90{border-color:color-mix(in oklch,var(--bs-border-color) 90%,transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.grid-cols-3{--bs-columns:3}.grid-cols-4{--bs-columns:4}.grid-cols-6{--bs-columns:6}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:0.25rem}.mx-2{margin-inline:0.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:0.25rem}.my-2{margin-block:0.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:0.25rem}.mt-2{margin-block-start:0.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:0.25rem}.mb-2{margin-block-end:0.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:0.25rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:0.25rem}.py-2{padding-block:0.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:0.25rem}.pt-2{padding-block-start:0.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:0.25rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:0.25rem}.pb-2{padding-block-end:0.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:0.25rem}.ps-2{padding-inline-start:0.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-monospace)}.font-body{font-family:var(--bs-font-sans-serif)}.fs-xs{font-size:var(--bs-font-size-xs)}.fs-sm{font-size:var(--bs-font-size-sm)}.fs-md{font-size:var(--bs-font-size-md)}.fs-lg{font-size:var(--bs-font-size-lg)}.fs-xl{font-size:var(--bs-font-size-xl)}.fs-2xl{font-size:var(--bs-font-size-2xl)}.fs-3xl{font-size:var(--bs-font-size-3xl)}.fs-4xl{font-size:var(--bs-font-size-4xl)}.fs-5xl{font-size:var(--bs-font-size-5xl)}.fs-6xl{font-size:var(--bs-font-size-6xl)}.text-xs{font-size:var(--bs-font-size-xs);line-height:var(--bs-line-height-xs)}.text-sm{font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm)}.text-md{font-size:var(--bs-font-size-md);line-height:var(--bs-line-height-md)}.text-lg{font-size:var(--bs-font-size-lg);line-height:var(--bs-line-height-lg)}.text-xl{font-size:var(--bs-font-size-xl);line-height:var(--bs-line-height-xl)}.text-2xl{font-size:var(--bs-font-size-2xl);line-height:var(--bs-line-height-2xl)}.text-3xl{font-size:var(--bs-font-size-3xl);line-height:var(--bs-line-height-3xl)}.text-4xl{font-size:var(--bs-font-size-4xl);line-height:var(--bs-line-height-4xl)}.text-5xl{font-size:var(--bs-font-size-5xl);line-height:var(--bs-line-height-5xl)}.text-6xl{font-size:var(--bs-font-size-6xl);line-height:var(--bs-line-height-6xl)}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600), var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600), var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600), var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700), var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600), var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700), var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600), var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500), var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800), var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800), var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800), var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800), var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800), var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800), var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975), var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800), var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-accent{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-success{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white), var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900), var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch,var(--bs-fg) 10%,transparent)}.fg-20{color:color-mix(in oklch,var(--bs-fg) 20%,transparent)}.fg-30{color:color-mix(in oklch,var(--bs-fg) 30%,transparent)}.fg-40{color:color-mix(in oklch,var(--bs-fg) 40%,transparent)}.fg-50{color:color-mix(in oklch,var(--bs-fg) 50%,transparent)}.fg-60{color:color-mix(in oklch,var(--bs-fg) 60%,transparent)}.fg-70{color:color-mix(in oklch,var(--bs-fg) 70%,transparent)}.fg-80{color:color-mix(in oklch,var(--bs-fg) 80%,transparent)}.fg-90{color:color-mix(in oklch,var(--bs-fg) 90%,transparent)}.fg-100{color:var(--bs-fg)}.link-10{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-10-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.link-20{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-20-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.link-30{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-30-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.link-40{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-40-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.link-50{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-50-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.link-60{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-60-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.link-70{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-70-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.link-80{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-80-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.link-90{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-90-hover:hover{color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.link-100{color:var(--bs-link-color)}.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1{text-underline-offset:0.125em}.underline-offset-1-hover:hover{text-underline-offset:0.125em}.underline-offset-2{text-underline-offset:0.25em}.underline-offset-2-hover:hover{text-underline-offset:0.25em}.underline-offset-3{text-underline-offset:0.375em}.underline-offset-3-hover:hover{text-underline-offset:0.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch,var(--bs-indigo-400),var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-10-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 10%,transparent)}.underline-20{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-20-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 20%,transparent)}.underline-30{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-30-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 30%,transparent)}.underline-40{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-40-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 40%,transparent)}.underline-50{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-50-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 50%,transparent)}.underline-60{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-60-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 60%,transparent)}.underline-70{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-70-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 70%,transparent)}.underline-80{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-80-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 80%,transparent)}.underline-90{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-90-hover:hover{text-decoration-color:color-mix(in oklch,var(--bs-link-color) 90%,transparent)}.underline-100{text-decoration-color:var(--bs-link-color)}.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1{text-decoration-thickness:1px}.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2{text-decoration-thickness:2px}.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3{text-decoration-thickness:3px}.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4{text-decoration-thickness:4px}.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5{text-decoration-thickness:5px}.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900), var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white), var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025), var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100), var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100), var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100), var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100), var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100), var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100), var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050), var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200), var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200), var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200), var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200), var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200), var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200), var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200), var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100), var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch,var(--bs-bg) 10%,transparent)}.bg-20{background-color:color-mix(in oklch,var(--bs-bg) 20%,transparent)}.bg-30{background-color:color-mix(in oklch,var(--bs-bg) 30%,transparent)}.bg-40{background-color:color-mix(in oklch,var(--bs-bg) 40%,transparent)}.bg-50{background-color:color-mix(in oklch,var(--bs-bg) 50%,transparent)}.bg-60{background-color:color-mix(in oklch,var(--bs-bg) 60%,transparent)}.bg-70{background-color:color-mix(in oklch,var(--bs-bg) 70%,transparent)}.bg-80{background-color:color-mix(in oklch,var(--bs-bg) 80%,transparent)}.bg-90{background-color:color-mix(in oklch,var(--bs-bg) 90%,transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width >= 576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch}.grid-cols-sm-3{--bs-columns:3}.grid-cols-sm-4{--bs-columns:4}.grid-cols-sm-6{--bs-columns:6}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:0.25rem}.mx-sm-2{margin-inline:0.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:0.25rem}.my-sm-2{margin-block:0.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:0.25rem}.mt-sm-2{margin-block-start:0.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:0.25rem}.mb-sm-2{margin-block-end:0.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:0.25rem}.px-sm-2{padding-inline:0.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:0.25rem}.py-sm-2{padding-block:0.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:0.25rem}.pt-sm-2{padding-block-start:0.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:0.25rem}.pe-sm-2{padding-inline-end:0.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:0.25rem}.pb-sm-2{padding-block-end:0.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:0.25rem}.ps-sm-2{padding-inline-start:0.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (width >= 768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch}.grid-cols-md-3{--bs-columns:3}.grid-cols-md-4{--bs-columns:4}.grid-cols-md-6{--bs-columns:6}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:0.25rem}.mx-md-2{margin-inline:0.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:0.25rem}.my-md-2{margin-block:0.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:0.25rem}.mt-md-2{margin-block-start:0.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:0.25rem}.mb-md-2{margin-block-end:0.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:0.25rem}.px-md-2{padding-inline:0.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:0.25rem}.py-md-2{padding-block:0.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:0.25rem}.pt-md-2{padding-block-start:0.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:0.25rem}.pe-md-2{padding-inline-end:0.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:0.25rem}.pb-md-2{padding-block-end:0.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:0.25rem}.ps-md-2{padding-inline-start:0.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (width >= 1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch}.grid-cols-lg-3{--bs-columns:3}.grid-cols-lg-4{--bs-columns:4}.grid-cols-lg-6{--bs-columns:6}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:0.25rem}.mx-lg-2{margin-inline:0.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:0.25rem}.my-lg-2{margin-block:0.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:0.25rem}.mt-lg-2{margin-block-start:0.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:0.25rem}.mb-lg-2{margin-block-end:0.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:0.25rem}.px-lg-2{padding-inline:0.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:0.25rem}.py-lg-2{padding-block:0.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:0.25rem}.pt-lg-2{padding-block-start:0.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:0.25rem}.pe-lg-2{padding-inline-end:0.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:0.25rem}.pb-lg-2{padding-block-end:0.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:0.25rem}.ps-lg-2{padding-inline-start:0.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (width >= 1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch}.grid-cols-xl-3{--bs-columns:3}.grid-cols-xl-4{--bs-columns:4}.grid-cols-xl-6{--bs-columns:6}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:0.25rem}.mx-xl-2{margin-inline:0.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:0.25rem}.my-xl-2{margin-block:0.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:0.25rem}.mt-xl-2{margin-block-start:0.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:0.25rem}.mb-xl-2{margin-block-end:0.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:0.25rem}.px-xl-2{padding-inline:0.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:0.25rem}.py-xl-2{padding-block:0.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:0.25rem}.pt-xl-2{padding-block-start:0.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:0.25rem}.pe-xl-2{padding-inline-end:0.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:0.25rem}.pb-xl-2{padding-block-end:0.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:0.25rem}.ps-xl-2{padding-inline-start:0.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (width >= 1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:1 1 auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch}.grid-cols-2xl-3{--bs-columns:3}.grid-cols-2xl-4{--bs-columns:4}.grid-cols-2xl-6{--bs-columns:6}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:0.25rem}.mx-2xl-2{margin-inline:0.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:0.25rem}.my-2xl-2{margin-block:0.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:0.25rem}.mt-2xl-2{margin-block-start:0.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:0.25rem}.mb-2xl-2{margin-block-end:0.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:0.25rem}.px-2xl-2{padding-inline:0.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:0.25rem}.py-2xl-2{padding-block:0.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:0.25rem}.pt-2xl-2{padding-block-start:0.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:0.25rem}.pe-2xl-2{padding-inline-end:0.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:0.25rem}.pb-2xl-2{padding-block-end:0.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:0.25rem}.ps-2xl-2{padding-inline-start:0.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:0.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:0.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}
 /*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
index 19cde81f76d4f7c91840048f9866d727c493127d..d5f5121f4c333c01562060544512b4db39ca2f89 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap.css","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholders.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinners.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 258) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$prefix}#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$prefix}#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$prefix}#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$prefix}#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$prefix}#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$prefix}#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$prefix}#{$color}-500: #{$hue};\n    --#{$prefix}#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$prefix}#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$prefix}#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$prefix}#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$prefix}#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$prefix}#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --#{$prefix}theme-#{$key}: var(--#{$prefix}#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    $current-key: if($parent-key == \"\", $key, \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$prefix}#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--#{$prefix}blue-500),\n    \"text\": light-dark(var(--#{$prefix}blue-600), var(--#{$prefix}blue-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}blue-800), var(--#{$prefix}blue-200)),\n    \"bg\": var(--#{$prefix}blue-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}blue-100), var(--#{$prefix}blue-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}blue-200), var(--#{$prefix}blue-800)),\n    \"border\": light-dark(var(--#{$prefix}blue-300), var(--#{$prefix}blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}blue-500), var(--#{$prefix}blue-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"accent\": (\n    \"base\": var(--#{$prefix}indigo-500),\n    \"text\": light-dark(var(--#{$prefix}indigo-600), color-mix(in oklch, var(--#{$prefix}indigo-400), var(--#{$prefix}indigo-300))),\n    \"text-emphasis\": light-dark(var(--#{$prefix}indigo-800), var(--#{$prefix}indigo-300)),\n    \"bg\": var(--#{$prefix}indigo-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}indigo-100), var(--#{$prefix}indigo-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}indigo-200), var(--#{$prefix}indigo-800)),\n    \"border\": light-dark(var(--#{$prefix}indigo-300), var(--#{$prefix}indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}indigo-500), var(--#{$prefix}indigo-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"success\": (\n    \"base\": var(--#{$prefix}green-500),\n    \"text\": light-dark(var(--#{$prefix}green-600), var(--#{$prefix}green-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}green-800), var(--#{$prefix}green-300)),\n    \"bg\": var(--#{$prefix}green-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}green-100), var(--#{$prefix}green-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}green-200), var(--#{$prefix}green-800)),\n    \"border\": light-dark(var(--#{$prefix}green-300), var(--#{$prefix}green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}green-500), var(--#{$prefix}green-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"danger\": (\n    \"base\": var(--#{$prefix}red-500),\n    \"text\": light-dark(var(--#{$prefix}red-600), var(--#{$prefix}red-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}red-800), var(--#{$prefix}red-300)),\n    \"bg\": var(--#{$prefix}red-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}red-100), var(--#{$prefix}red-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}red-200), var(--#{$prefix}red-800)),\n    \"border\": light-dark(var(--#{$prefix}red-300), var(--#{$prefix}red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}red-500), var(--#{$prefix}red-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}white)\n  ),\n  \"warning\": (\n    \"base\": var(--#{$prefix}yellow-500),\n    \"text\": light-dark(var(--#{$prefix}yellow-700), var(--#{$prefix}yellow-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}yellow-800), var(--#{$prefix}yellow-300)),\n    \"bg\": var(--#{$prefix}yellow-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}yellow-100), var(--#{$prefix}yellow-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}yellow-200), var(--#{$prefix}yellow-800)),\n    \"border\": light-dark(var(--#{$prefix}yellow-300), var(--#{$prefix}yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}yellow-500), var(--#{$prefix}yellow-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--#{$prefix}cyan-500),\n    \"text\": light-dark(var(--#{$prefix}cyan-600), var(--#{$prefix}cyan-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}cyan-800), var(--#{$prefix}cyan-300)),\n    \"bg\": var(--#{$prefix}cyan-500),\n    \"bg-subtle\": light-dark(var(--#{$prefix}cyan-100), var(--#{$prefix}cyan-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}cyan-200), var(--#{$prefix}cyan-800)),\n    \"border\": light-dark(var(--#{$prefix}cyan-300), var(--#{$prefix}cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}cyan-500), var(--#{$prefix}cyan-400)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": var(--#{$prefix}gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--#{$prefix}gray-900),\n    \"text\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-200)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-975), var(--#{$prefix}white)),\n    \"bg\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-025)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-300)),\n    \"border\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-100)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--#{$prefix}gray-200),\n    \"text\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-400)),\n    \"text-emphasis\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n    \"bg\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-600)),\n    \"bg-subtle\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-800)),\n    \"bg-muted\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-700)),\n    \"border\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-300)) 50%, var(--#{$prefix}bg-body)),\n    \"contrast\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--#{$prefix}white), var(--#{$prefix}gray-975)),\n  \"1\": light-dark(var(--#{$prefix}gray-025), var(--#{$prefix}gray-950)),\n  \"2\": light-dark(var(--#{$prefix}gray-050), var(--#{$prefix}gray-900)),\n  \"3\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-800)),\n  \"4\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-700)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--#{$prefix}gray-900), var(--#{$prefix}gray-050)),\n  \"1\": light-dark(var(--#{$prefix}gray-800), var(--#{$prefix}gray-200)),\n  \"2\": light-dark(var(--#{$prefix}gray-700), var(--#{$prefix}gray-300)),\n  \"3\": light-dark(var(--#{$prefix}gray-600), var(--#{$prefix}gray-500)),\n  \"4\": light-dark(var(--#{$prefix}gray-500), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--#{$prefix}bg-body),\n  \"body\": light-dark(var(--#{$prefix}gray-300), var(--#{$prefix}gray-800)),\n  \"muted\": light-dark(var(--#{$prefix}gray-200), var(--#{$prefix}gray-800)),\n  \"subtle\": light-dark(var(--#{$prefix}gray-100), var(--#{$prefix}gray-900)),\n  \"emphasized\": light-dark(var(--#{$prefix}gray-400), var(--#{$prefix}gray-600)),\n  \"white\": var(--#{$prefix}white),\n  \"black\": var(--#{$prefix}black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  // scss-docs-start root-theme-variables\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --#{$prefix}bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --#{$prefix}fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --#{$prefix}border-#{$color}: #{$value};\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n  // scss-docs-end root-theme-variables\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --#{$prefix}font-size-base: #{$font-size-base}; // 14px\n\n  --#{$prefix}font-size-xs: .75rem;\n  --#{$prefix}font-size-sm: .875rem;\n  --#{$prefix}font-size-md: 1rem;\n  --#{$prefix}font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --#{$prefix}font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --#{$prefix}font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --#{$prefix}font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --#{$prefix}font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --#{$prefix}font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --#{$prefix}font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --#{$prefix}line-height-xs: 1.5;\n  --#{$prefix}line-height-sm: 1.5;\n  --#{$prefix}line-height-md: 1.5;\n  --#{$prefix}line-height-lg: 1.5;\n  --#{$prefix}line-height-xl: calc(2.5 / 1.75);\n  --#{$prefix}line-height-2xl: calc(3 / 2.25);\n  --#{$prefix}line-height-3xl: 1.2;\n  --#{$prefix}line-height-4xl: 1.1;\n  --#{$prefix}line-height-5xl: 1.1;\n  --#{$prefix}line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --#{$prefix}body-font-size: #{$font-size-base};\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 258deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 258deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 258deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 258deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 258deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 258deg));\n  --bs-blue-500: oklch(60% 0.24 258deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 258deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 258deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 258deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 258deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 258deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 258deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  color-scheme: light dark;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  --bs-black: #000;\n  --bs-white: #fff;\n}\n\n:root,\n[data-bs-theme=light] {\n  color-scheme: light;\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-root-font-size: 16px;\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: -1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    color: inherit;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid;\n    opacity: 0.25;\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\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  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-link-color);\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-link-hover-color);\n    -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-color-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--bs-gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --bs-table-color-type: initial;\n    --bs-table-bg-type: initial;\n    --bs-table-color-state: initial;\n    --bs-table-bg-state: initial;\n    --bs-table-color: var(--bs-color-body);\n    --bs-table-bg: var(--bs-bg-body);\n    --bs-table-border-color: var(--bs-border-color);\n    --bs-table-accent-bg: transparent;\n    --bs-table-striped-color: var(--bs-color-body);\n    --bs-table-striped-bg: color-mix(in srgb, var(--bs-table-color) 5%, transparent);\n    --bs-table-active-color: var(--bs-color-body);\n    --bs-table-active-bg: color-mix(in srgb, var(--bs-table-color) 10%, transparent);\n    --bs-table-hover-color: var(--bs-color-body);\n    --bs-table-hover-bg: color-mix(in srgb, var(--bs-table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--bs-theme-border, var(--bs-table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-theme-text, var(--bs-table-color))));\n    background-color: var(--bs-theme-bg-subtle, var(--bs-table-bg));\n    border-block-end-width: var(--bs-border-width);\n    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-theme-bg-subtle, var(--bs-table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--bs-border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--bs-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--bs-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-active {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-active-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-hover-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bs-bg-body);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n    box-shadow: var(--bs-box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --bs-content-font-size: var(--bs-font-size-sm);\n    --bs-content-gap: 20px;\n    --bs-heading-color: light-dark(var(--bs-gray-900), var(--bs-white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--bs-content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--bs-content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --bs-content-font-size: var(--bs-font-size-md);\n      --bs-content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--bs-content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--bs-content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--bs-content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: 1px solid var(--bs-border-color);\n  }\n  .prose h1,\n  .prose h2,\n  .prose h3,\n  .prose h4,\n  .prose h5,\n  .prose h6 {\n    margin-top: 0;\n    margin-bottom: calc(var(--bs-content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1 code,\n  .prose h2 code,\n  .prose h3 code,\n  .prose h4 code,\n  .prose h5 code,\n  .prose h6 code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    margin-bottom: calc(var(--bs-content-gap) / 4);\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--bs-link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--bs-link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--bs-link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--bs-content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--bs-border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--bs-border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--bs-border-width));\n    padding-bottom: add(0.375rem, var(--bs-border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--bs-border-width));\n    padding-bottom: add(0.5rem, var(--bs-border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--bs-border-width));\n    padding-bottom: add(0.25rem, var(--bs-border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --bs-control-min-height: 2.5rem;\n    --bs-control-padding-y: 0.375rem;\n    --bs-control-padding-x: 0.75rem;\n    --bs-control-font-size: 14px;\n    --bs-control-line-height: 1.5;\n    --bs-control-color: var(--bs-color-body);\n    --bs-control-bg: var(--bs-bg-body);\n    --bs-control-border-width: var(--bs-border-width);\n    --bs-control-border-color: var(--bs-border-color);\n    --bs-control-border-radius: var(--bs-border-radius);\n    --bs-control-select-bg-color: var(--bs-gray-600);\n    --bs-control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--bs-gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --bs-control-select-bg-position: right 0.75rem center;\n    --bs-control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    font-size: var(--bs-control-font-size);\n    line-height: var(--bs-control-line-height);\n    color: var(--bs-control-color);\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-control-bg);\n    background-clip: padding-box;\n    border: var(--bs-control-border-width) solid var(--bs-control-border-color);\n    border-radius: var(--bs-control-border-radius);\n    box-shadow: var(--bs-box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    color: var(--bs-color-body);\n    background-color: var(--bs-bg-body);\n    border-color: var(--bs-primary-border);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--bs-secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--bs-secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    margin: calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);\n    margin-inline-end: var(--bs-control-padding-x);\n    color: var(--bs-color-body);\n    background-color: var(--bs-tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--bs-control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--bs-control-padding-x) * 3);\n    background-image: var(--bs-control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--bs-control-select-bg-position);\n    background-size: var(--bs-control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--bs-control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --bs-control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --bs-control-min-height: 2rem;\n    --bs-control-padding-y: 0.25rem;\n    --bs-control-padding-x: 0.5rem;\n    --bs-control-font-size: 12.25px;\n    --bs-control-line-height: 1.25;\n    --bs-control-border-radius: var(--bs-border-radius-sm);\n  }\n  .form-control-lg {\n    --bs-control-min-height: 3rem;\n    --bs-control-padding-y: 0.5rem;\n    --bs-control-padding-x: 1rem;\n    --bs-control-font-size: 17.5px;\n    --bs-control-line-height: 2;\n    --bs-control-border-radius: var(--bs-border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .check {\n    --bs-check-bg: transparent;\n    --bs-check-border-color: var(--bs-border-color);\n    --bs-check-checked-bg: var(--bs-primary-base);\n    --bs-check-checked-border-color: var(--bs-primary-base);\n    --bs-check-indeterminate-bg: var(--bs-primary-base);\n    --bs-check-indeterminate-border-color: var(--bs-primary-base);\n    --bs-check-disabled-bg: var(--bs-bg-3);\n    --bs-check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-check-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--bs-theme-bg, var(--bs-check-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-check-checked-border-color));\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--bs-primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --bs-check-bg: var(--bs-check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--bs-check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .radio {\n    --bs-radio-bg: transparent;\n    --bs-radio-border-color: var(--bs-border-color);\n    --bs-radio-checked-bg: var(--bs-primary-base);\n    --bs-radio-checked-border-color: var(--bs-primary-base);\n    --bs-radio-disabled-bg: var(--bs-bg-3);\n    --bs-radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-radio-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--bs-theme-contrast, var(--bs-primary-contrast));\n    background-color: var(--bs-theme-bg, var(--bs-radio-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --bs-radio-bg: var(--bs-radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n}\n@layer forms {\n  .switch {\n    --bs-switch-height: 1.25rem;\n    --bs-switch-width: calc(var(--bs-switch-height) * 1.5);\n    --bs-switch-padding: .0625rem;\n    --bs-switch-bg: var(--bs-secondary-bg);\n    --bs-switch-border-width: var(--bs-border-width);\n    --bs-switch-border-color: var(--bs-border-color);\n    --bs-switch-indicator-bg: var(--bs-white);\n    --bs-switch-checked-bg: var(--bs-primary-base);\n    --bs-switch-checked-border-color: var(--bs-switch-checked-bg);\n    --bs-switch-checked-indicator-bg: var(--bs-white);\n    --bs-switch-disabled-bg: var(--bs-secondary-bg);\n    --bs-switch-disabled-indicator-bg: var(--bs-secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--bs-switch-width);\n    height: var(--bs-switch-height);\n    padding: var(--bs-switch-padding);\n    background-color: var(--bs-switch-bg);\n    border: var(--bs-switch-border-width) solid var(--bs-switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    height: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--bs-switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: transparent;\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding));\n    background-color: var(--bs-switch-checked-bg);\n    border-color: var(--bs-switch-checked-border-color);\n  }\n  .switch:has(input:disabled) {\n    --bs-switch-bg: var(--bs-switch-disabled-bg);\n    --bs-switch-indicator-bg: var(--bs-switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --bs-switch-height: 1em;\n  }\n  .switch-lg {\n    --bs-switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: add(1rem, 0.5em);\n    padding: 0;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);\n  }\n  .form-range:focus::-moz-range-thumb {\n    box-shadow: 0 0 0 1px var(--bs-bg-body), 0 0 0 0.25rem var(--bs-primary-focus-ring);\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\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  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      -webkit-transition: none;\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\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  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      -moz-transition: none;\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: rgba(var(--bs-body-color-rgb), 0.65);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--bs-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bs-bg-body);\n    border-radius: var(--bs-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--bs-gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-tertiary-bg);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n  }\n  .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: 17.5px;\n    border-radius: var(--bs-border-radius-lg);\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: 12.25px;\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer components {\n  .tooltip {\n    --bs-tooltip-zindex: 1080;\n    --bs-tooltip-max-width: 200px;\n    --bs-tooltip-padding-x: 0.75rem;\n    --bs-tooltip-padding-y: 0.375rem;\n    --bs-tooltip-font-size: var(--bs-font-size-sm);\n    --bs-tooltip-color: var(--bs-bg-body);\n    --bs-tooltip-bg: var(--bs-fg-body);\n    --bs-tooltip-border-radius: var(--bs-border-radius);\n    --bs-tooltip-opacity: 0.95;\n    --bs-tooltip-arrow-width: 0.8rem;\n    --bs-tooltip-arrow-height: 0.4rem;\n    z-index: var(--bs-tooltip-zindex);\n    display: block;\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--bs-tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--bs-tooltip-arrow-width);\n    height: var(--bs-tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-block-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-inline-start-color: var(--bs-tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--bs-tooltip-max-width);\n    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n    color: var(--bs-tooltip-color);\n    text-align: center;\n    background-color: var(--bs-tooltip-bg);\n    border-radius: var(--bs-tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-success);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n    padding-inline-end: add(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='var%28--bs-success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--bs-form-valid-border-color);\n    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--bs-form-valid-color);\n  }\n  .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n    box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--bs-form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-danger);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--bs-danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--bs-danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--bs-form-invalid-border-color);\n    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--bs-form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n    box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--bs-form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --bs-btn-min-height: 2.25rem;\n    --bs-btn-padding-x: 0.75rem;\n    --bs-btn-padding-y: 0.375rem;\n    --bs-btn-font-family: ;\n    --bs-btn-font-size: 14px;\n    --bs-btn-font-weight: 400;\n    --bs-btn-line-height: 1.5;\n    --bs-btn-color: var(--bs-color-body);\n    --bs-btn-border-width: var(--bs-border-width);\n    --bs-btn-border-color: transparent;\n    --bs-btn-border-radius: var(--bs-border-radius);\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--bs-btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--bs-btn-min-height);\n    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n    font-family: var(--bs-btn-font-family);\n    font-size: var(--bs-btn-font-size);\n    font-weight: var(--bs-btn-font-weight);\n    line-height: var(--bs-btn-line-height);\n    color: var(--bs-btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    -webkit-user-select: none;\n    user-select: none;\n    background-color: var(--bs-btn-bg, var(--bs-bg-2));\n    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n    border-radius: var(--bs-btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--bs-btn-hover-color);\n    background-color: var(--bs-btn-hover-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n  }\n  .btn-solid {\n    --bs-btn-bg: var(--bs-theme-bg);\n    --bs-btn-color: var(--bs-theme-contrast);\n    --bs-btn-border-color: var(--bs-theme-bg);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-solid:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-outline {\n    --bs-btn-bg: transparent;\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: var(--bs-theme-border);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-outline:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-subtle {\n    --bs-btn-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --bs-btn-hover-bg: color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --bs-btn-font-weight: 400;\n    --bs-btn-color: var(--bs-link-color);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-hover-color: var(--bs-link-hover-color);\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-active-color: var(--bs-link-hover-color);\n    --bs-btn-active-border-color: transparent;\n    --bs-btn-disabled-color: var(--bs-gray-600);\n    --bs-btn-disabled-border-color: transparent;\n    --bs-btn-box-shadow: 0 0 0 #000;\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--bs-btn-color);\n  }\n  .btn-link:hover {\n    color: var(--bs-btn-hover-color);\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --bs-btn-min-height: 1.5rem;\n    --bs-btn-padding-y: 0.125rem;\n    --bs-btn-padding-x: 0.375rem;\n    --bs-btn-font-size: var(--bs-font-size-xs);\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --bs-btn-min-height: 2rem;\n    --bs-btn-padding-y: 0.25rem;\n    --bs-btn-padding-x: 0.5rem;\n    --bs-btn-font-size: 12.25px;\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --bs-btn-min-height: 2.75rem;\n    --bs-btn-padding-y: 0.5rem;\n    --bs-btn-padding-x: 1rem;\n    --bs-btn-font-size: 17.5px;\n    --bs-btn-line-height: 1.25rem;\n    --bs-btn-border-radius: var(--bs-border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --bs-btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --bs-btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --bs-btn-border-mix-color: #000;\n    --bs-btn-border-mix-amount: 10%;\n    --bs-btn-border-hover-mix-amount: 12.5%;\n    --bs-btn-border-active-mix-amount: 20%;\n    --bs-btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --bs-btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));\n    box-shadow: var(--bs-btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:hover,\n  .btn-group > [class*=btn-]:focus,\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:focus,\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 1;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--bs-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group.show .dropdown-toggle {\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  }\n  .btn-group.show .dropdown-toggle.btn-link {\n    box-shadow: none;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --bs-btn-close-size: 1.25rem;\n    --bs-btn-close-color: var(--bs-fg-body);\n    --bs-btn-close-opacity: 0.5;\n    --bs-btn-close-hover-opacity: 0.75;\n    --bs-btn-close-focus-opacity: 0.85;\n    --bs-btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--bs-btn-close-size);\n    height: var(--bs-btn-close-size);\n    padding: 0;\n    color: var(--bs-btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--bs-border-radius-sm);\n    opacity: var(--bs-btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--bs-btn-close-color);\n    text-decoration: none;\n    opacity: var(--bs-btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--bs-focus-ring);\n    opacity: var(--bs-btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    -webkit-user-select: none;\n    user-select: none;\n    opacity: var(--bs-btn-close-disabled-opacity);\n  }\n}\n@layer componenents {\n  .accordion {\n    --bs-accordion-color: var(--bs-color-body);\n    --bs-accordion-bg: var(--bs-bg-body);\n    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n    --bs-accordion-border-color: var(--bs-border-color);\n    --bs-accordion-border-width: var(--bs-border-width);\n    --bs-accordion-border-radius: var(--bs-border-radius-lg);\n    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-accordion-btn-padding-x: 1.25rem;\n    --bs-accordion-btn-padding-y: 1rem;\n    --bs-accordion-btn-color: var(--bs-fg-2);\n    --bs-accordion-btn-bg: var(--bs-accordion-bg);\n    --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --bs-accordion-btn-icon-width: 1.25rem;\n    --bs-accordion-btn-icon-transform: rotate(-180deg);\n    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);\n    --bs-accordion-body-padding-x: 1.25rem;\n    --bs-accordion-body-padding-y: 1rem;\n    --bs-accordion-active-color: var(--bs-fg);\n    --bs-accordion-active-bg: var(--bs-bg-2);\n  }\n  .accordion-button {\n    position: relative;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n    font-size: 14px;\n    color: var(--bs-accordion-btn-color);\n    text-align: start;\n    background-color: var(--bs-accordion-btn-bg);\n    border: 0;\n    border-radius: 0;\n    overflow-anchor: none;\n    transition: var(--bs-accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-button {\n      transition: none;\n    }\n  }\n  .accordion-button:not(.collapsed) {\n    color: var(--bs-accordion-active-color);\n    background-color: var(--bs-accordion-active-bg);\n    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n  }\n  .accordion-button:not(.collapsed)::after {\n    background-image: var(--bs-accordion-btn-active-icon);\n    transform: var(--bs-accordion-btn-icon-transform);\n  }\n  .accordion-button::after {\n    flex-shrink: 0;\n    width: var(--bs-accordion-btn-icon-width);\n    height: var(--bs-accordion-btn-icon-width);\n    margin-inline-start: auto;\n    content: \"\";\n    background-color: var(--bs-accordion-btn-color);\n    -webkit-mask: var(--bs-accordion-btn-icon) no-repeat center 100%;\n    mask: var(--bs-accordion-btn-icon) no-repeat center 100%;\n    transition: var(--bs-accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-button::after {\n      transition: none;\n    }\n  }\n  .accordion-button:hover {\n    z-index: 2;\n  }\n  .accordion-button:focus {\n    z-index: 3;\n    outline: 0;\n    box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n  }\n  .accordion-header {\n    margin-bottom: 0;\n  }\n  .accordion-item {\n    color: var(--bs-accordion-color);\n    background-color: var(--bs-accordion-bg);\n    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--bs-accordion-border-radius);\n    border-start-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header .accordion-button {\n    border-start-start-radius: var(--bs-accordion-inner-border-radius);\n    border-start-end-radius: var(--bs-accordion-inner-border-radius);\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {\n    border-end-start-radius: var(--bs-accordion-inner-border-radius);\n    border-end-end-radius: var(--bs-accordion-inner-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-collapse {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-body {\n    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-collapse,\n  .accordion-flush > .accordion-item > .accordion-header .accordion-button,\n  .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --bs-alert-bg: var(--bs-theme-bg-subtle, transparent);\n    --bs-alert-padding-x: 1rem;\n    --bs-alert-padding-y: 1rem;\n    --bs-alert-margin-bottom: 1rem;\n    --bs-alert-color: var(--bs-theme-text, inherit);\n    --bs-alert-border-color: transparent;\n    --bs-alert-border: var(--bs-border-width) solid var(--bs-theme-border, var(--bs-alert-border-color));\n    --bs-alert-border-radius: var(--bs-border-radius);\n    --bs-alert-link-color: inherit;\n    position: relative;\n    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n    color: var(--bs-alert-color);\n    background-color: var(--bs-alert-bg);\n    border: var(--bs-alert-border);\n    border-radius: var(--bs-alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: 700;\n    color: var(--bs-alert-link-color);\n  }\n  .alert-dismissible {\n    padding-inline-end: 3rem;\n  }\n  .alert-dismissible .btn-close {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-end: 0;\n    z-index: 2;\n    padding: 1.25rem 1rem;\n  }\n}\n@layer components {\n  .badge {\n    --bs-badge-padding-x: 0.5em;\n    --bs-badge-padding-y: 0.35em;\n    --bs-badge-font-size: 0.75em;\n    --bs-badge-font-weight: 700;\n    --bs-badge-color: inherit;\n    --bs-badge-bg: var(--bs-bg-2);\n    --bs-badge-border-width: 1px;\n    --bs-badge-border-color: transparent;\n    --bs-badge-border-radius: var(--bs-border-radius);\n    display: inline-block;\n    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n    font-size: var(--bs-badge-font-size);\n    font-weight: var(--bs-badge-font-weight);\n    line-height: 1;\n    color: var(--bs-theme-contrast, var(--bs-badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--bs-theme-bg, var(--bs-badge-bg));\n    border: var(--bs-badge-border-width) solid var(--bs-badge-border-color);\n    border-radius: var(--bs-badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: var(--bs-theme-bg-subtle);\n    --bs-badge-border-color: transparent;\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n  .badge-outline {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: transparent;\n    --bs-badge-border-color: var(--bs-theme-border);\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --bs-breadcrumb-padding-x: 0;\n    --bs-breadcrumb-padding-y: 0;\n    --bs-breadcrumb-margin-bottom: 1rem;\n    --bs-breadcrumb-font-size: ;\n    --bs-breadcrumb-bg: ;\n    --bs-breadcrumb-border-radius: ;\n    --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n    --bs-breadcrumb-item-padding-x: 0.5rem;\n    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n    display: flex;\n    flex-wrap: wrap;\n    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n    margin-bottom: var(--bs-breadcrumb-margin-bottom);\n    font-size: var(--bs-breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--bs-breadcrumb-bg);\n    border-radius: var(--bs-breadcrumb-border-radius);\n  }\n  .breadcrumb-item + .breadcrumb-item {\n    padding-inline-start: var(--bs-breadcrumb-item-padding-x);\n  }\n  .breadcrumb-item + .breadcrumb-item::before {\n    float: inline-start;\n    padding-inline-end: var(--bs-breadcrumb-item-padding-x);\n    color: var(--bs-breadcrumb-divider-color);\n    content: var(--bs-breadcrumb-divider, \"/\");\n  }\n  [dir=rtl] .breadcrumb-item:not(:first-child)::before {\n    content: var(--bs-breadcrumb-divider, \"/\");\n  }\n  .breadcrumb-item.active {\n    color: var(--bs-breadcrumb-item-active-color);\n  }\n}\n@layer components {\n  .card {\n    --bs-card-spacer-y: 1rem;\n    --bs-card-spacer-x: 1rem;\n    --bs-card-title-spacer-y: 0.5rem;\n    --bs-card-title-color: ;\n    --bs-card-subtitle-color: ;\n    --bs-card-border-width: var(--bs-border-width);\n    --bs-card-border-color: var(--bs-border-color-translucent);\n    --bs-card-border-radius: var(--bs-border-radius);\n    --bs-card-box-shadow: ;\n    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));\n    --bs-card-cap-padding-y: 0.5rem;\n    --bs-card-cap-padding-x: 1rem;\n    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n    --bs-card-cap-color: ;\n    --bs-card-height: ;\n    --bs-card-color: ;\n    --bs-card-bg: var(--bs-bg-body);\n    --bs-card-img-overlay-padding: 1rem;\n    --bs-card-group-margin: 0.75rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--bs-card-height);\n    color: var(--bs-color-body);\n    word-wrap: break-word;\n    background-color: var(--bs-card-bg);\n    background-clip: border-box;\n    border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n    border-radius: var(--bs-card-border-radius);\n    box-shadow: var(--bs-card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card > .list-group {\n    border-block: inherit;\n  }\n  .card > .list-group:first-child {\n    border-block-start-width: 0;\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card > .list-group:last-child {\n    border-block-end-width: 0;\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card > .card-header + .list-group,\n  .card > .list-group + .card-footer {\n    border-block-start: 0;\n  }\n  .card-body {\n    flex: 1 1 auto;\n    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n    color: var(--bs-card-color);\n  }\n  .card-title {\n    margin-bottom: var(--bs-card-title-spacer-y);\n    color: var(--bs-card-title-color);\n  }\n  .card-subtitle {\n    margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n    margin-bottom: 0;\n    color: var(--bs-card-subtitle-color);\n  }\n  .card-text:last-child {\n    margin-bottom: 0;\n  }\n  .card-link:hover {\n    text-decoration: none;\n  }\n  .card-link + .card-link {\n    margin-inline-start: var(--bs-card-spacer-x);\n  }\n  .card-header {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--bs-card-cap-color);\n    background-color: var(--bs-card-cap-bg);\n    border-block-end: var(--bs-card-border-width) solid var(--bs-card-border-color);\n  }\n  .card-header:first-child {\n    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    color: var(--bs-card-cap-color);\n    background-color: var(--bs-card-cap-bg);\n    border-block-start: var(--bs-card-border-width) solid var(--bs-card-border-color);\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n  }\n  .card-header-tabs {\n    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .card-header-tabs .nav-link.active {\n    background-color: var(--bs-card-bg);\n    border-block-end-color: var(--bs-card-bg);\n  }\n  .card-header-pills {\n    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--bs-card-img-overlay-padding);\n    border-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--bs-card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: transform 0.6s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s 0.6s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15%;\n    padding: 0;\n    color: #fff;\n    text-align: center;\n    background: none;\n    filter: var(--bs-carousel-control-icon-filter);\n    border: 0;\n    opacity: 0.5;\n    transition: opacity 0.15s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9;\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: 2rem;\n    height: 2rem;\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(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: 15%;\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    padding: 0;\n    margin-inline: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--bs-carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: 10px solid transparent;\n    opacity: 0.5;\n    transition: opacity 0.6s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: 1;\n  }\n  .carousel-caption {\n    position: absolute;\n    right: 15%;\n    bottom: 1.25rem;\n    left: 15%;\n    padding-top: 1.25rem;\n    padding-bottom: 1.25rem;\n    color: var(--bs-carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  :root,\n  [data-bs-theme=light] {\n    --bs-carousel-indicator-active-bg: #fff;\n    --bs-carousel-caption-color: #fff;\n    --bs-carousel-control-icon-filter: ;\n  }\n  [data-bs-theme=dark] {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --bs-dialog-padding: 1rem;\n    --bs-dialog-width: 500px;\n    --bs-dialog-margin: 1.75rem;\n    --bs-dialog-color: var(--bs-fg-body);\n    --bs-dialog-bg: var(--bs-bg-body);\n    --bs-dialog-border-color: var(--bs-border-color-translucent);\n    --bs-dialog-border-width: var(--bs-border-width);\n    --bs-dialog-border-radius: var(--bs-border-radius-lg);\n    --bs-dialog-box-shadow: var(--bs-box-shadow-lg);\n    --bs-dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --bs-dialog-header-padding: 1rem;\n    --bs-dialog-header-border-color: var(--bs-border-color);\n    --bs-dialog-header-border-width: var(--bs-border-width);\n    --bs-dialog-footer-padding: 1rem;\n    --bs-dialog-footer-border-color: var(--bs-border-color);\n    --bs-dialog-footer-border-width: var(--bs-border-width);\n    --bs-dialog-footer-gap: 0.5rem;\n    max-width: var(--bs-dialog-width);\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--bs-dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--bs-dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--bs-dialog-width);\n    margin-block-end: var(--bs-dialog-margin);\n    margin-inline: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --bs-dialog-width: 280px;\n  }\n  .dialog-lg {\n    --bs-dialog-width: 800px;\n  }\n  .dialog-xl {\n    --bs-dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --bs-dialog-width: 100vw;\n    --bs-dialog-margin: 0;\n    --bs-dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--bs-dialog-header-padding);\n    border-block-end: var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--bs-font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--bs-dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--bs-dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--bs-dialog-footer-padding);\n    border-block-start: var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --bs-dropdown-zindex: 1000;\n    --bs-dropdown-gap: 0.125rem;\n    --bs-dropdown-min-width: 10rem;\n    --bs-dropdown-padding-x: 0.25rem;\n    --bs-dropdown-padding-y: 0.25rem;\n    --bs-dropdown-spacer: 0.125rem;\n    --bs-dropdown-font-size: 14px;\n    --bs-dropdown-color: var(--bs-fg-body);\n    --bs-dropdown-bg: var(--bs-bg-body);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-border-radius: var(--bs-border-radius-lg);\n    --bs-dropdown-border-width: var(--bs-border-width);\n    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-divider-margin-y: 0.125rem;\n    --bs-dropdown-divider-margin-x: 0.25rem;\n    --bs-dropdown-box-shadow: var(--bs-box-shadow);\n    --bs-dropdown-link-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-bg: var(--bs-bg-1);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-fg-3);\n    --bs-dropdown-item-gap: 0.5rem;\n    --bs-dropdown-item-padding-x: 0.75rem;\n    --bs-dropdown-item-padding-y: 0.25rem;\n    --bs-dropdown-item-border-radius: var(--bs-border-radius);\n    --bs-dropdown-header-color: var(--bs-gray-600);\n    --bs-dropdown-header-padding-x: 0.75rem;\n    --bs-dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--bs-dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--bs-dropdown-gap);\n    min-width: var(--bs-dropdown-min-width);\n    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n    margin: 0;\n    font-size: var(--bs-dropdown-font-size);\n    color: var(--bs-dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--bs-dropdown-bg);\n    background-clip: padding-box;\n    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n    border-radius: var(--bs-dropdown-border-radius);\n    box-shadow: var(--bs-dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--bs-dropdown-divider-margin-y) var(--bs-dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--bs-dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--bs-dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--bs-dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--bs-dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--bs-dropdown-link-hover-color);\n    background-color: var(--bs-dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--bs-dropdown-link-active-color);\n    background-color: var(--bs-dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--bs-dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--bs-dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    color: var(--bs-fg-2);\n  }\n  .dropdown-menu-dark {\n    --bs-dropdown-color: var(--bs-gray-300);\n    --bs-dropdown-bg: var(--bs-gray-900);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-box-shadow: ;\n    --bs-dropdown-link-color: var(--bs-gray-300);\n    --bs-dropdown-link-hover-color: #fff;\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-gray-500);\n    --bs-dropdown-header-color: var(--bs-gray-500);\n  }\n}\n@layer components {\n  .list-group {\n    --bs-list-group-color: var(--bs-color-body);\n    --bs-list-group-bg: var(--bs-bg-body);\n    --bs-list-group-border-color: var(--bs-border-color);\n    --bs-list-group-border-width: var(--bs-border-width);\n    --bs-list-group-border-radius: var(--bs-border-radius);\n    --bs-list-group-item-padding-x: 1rem;\n    --bs-list-group-item-padding-y: 0.5rem;\n    --bs-list-group-action-color: var(--bs-secondary-color);\n    --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n    --bs-list-group-action-active-color: var(--bs-color-body);\n    --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n    --bs-list-group-disabled-color: var(--bs-secondary-color);\n    --bs-list-group-disabled-bg: var(--bs-bg-body);\n    --bs-list-group-active-color: var(--bs-primary-contrast);\n    --bs-list-group-active-bg: var(--bs-primary-bg);\n    --bs-list-group-active-border-color: var(--bs-primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--bs-list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n    color: var(--bs-theme-text, var(--bs-list-group-color));\n    text-decoration: none;\n    background-color: var(--bs-theme-bg-subtle, var(--bs-list-group-bg));\n    border: var(--bs-list-group-border-width) solid var(--bs-theme-border, var(--bs-list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--bs-list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--bs-list-group-active-color);\n    background-color: var(--bs-list-group-active-bg);\n    border-color: var(--bs-list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--bs-list-group-border-width));\n    border-block-start-width: var(--bs-list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--bs-theme-text, var(--bs-list-group-action-color));\n    text-align: inherit;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-active-color));\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--bs-list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--bs-list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--bs-list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n    border-inline-start-width: var(--bs-list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--bs-list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --bs-nav-gap: 0.125rem;\n    --bs-nav-link-gap: 0.5rem;\n    --bs-nav-link-padding-x: 1rem;\n    --bs-nav-link-padding-y: 0.5rem;\n    --bs-nav-link-color: var(--bs-fg-2);\n    --bs-nav-link-hover-color: var(--bs-fg-1);\n    --bs-nav-link-hover-bg: var(--bs-bg-1);\n    --bs-nav-link-active-color: var(--bs-fg-body);\n    --bs-nav-link-active-bg: var(--bs-bg-2);\n    --bs-nav-link-disabled-color: var(--bs-fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--bs-nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--bs-nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n    font-weight: var(--bs-nav-link-font-weight);\n    color: var(--bs-nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--bs-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--bs-nav-link-hover-color);\n    background-color: var(--bs-nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    color: var(--bs-nav-link-hover-color);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--bs-nav-link-active-color);\n    background-color: var(--bs-nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--bs-nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --bs-nav-tabs-border-width: var(--bs-border-width);\n    --bs-nav-tabs-border-color: var(--bs-border-color);\n    --bs-nav-tabs-border-radius: var(--bs-border-radius);\n    --bs-nav-tabs-link-hover-border-color: var(--bs-border-subtle);\n    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n    --bs-nav-tabs-link-active-bg: var(--bs-bg-body);\n    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);\n    border-block-end: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n    border: var(--bs-nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--bs-nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--bs-nav-tabs-link-active-color);\n    background-color: var(--bs-nav-tabs-link-active-bg);\n    border-color: var(--bs-nav-tabs-link-active-border-color);\n    border-bottom-color: var(--bs-nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --bs-nav-pills-link-active-color: var(--bs-primary-contrast);\n    --bs-nav-pills-link-active-bg: var(--bs-primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--bs-nav-pills-link-active-color);\n    background-color: var(--bs-nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --bs-nav-gap: 1rem;\n    --bs-nav-link-active-bg: transparent;\n    --bs-nav-underline-border-width: 0.125rem;\n    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--bs-nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--bs-nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --bs-navbar-padding-x: 0;\n    --bs-navbar-padding-y: 0.5rem;\n    --bs-navbar-color: var(--bs-fg-2);\n    --bs-navbar-hover-color: var(--bs-fg-1);\n    --bs-navbar-disabled-color: var(--bs-fg-3);\n    --bs-navbar-active-color: var(--bs-fg);\n    --bs-navbar-brand-padding-y: 0.75rem;\n    --bs-navbar-brand-margin-end: 1rem;\n    --bs-navbar-brand-font-size: 17.5px;\n    --bs-navbar-brand-color: var(--bs-fg);\n    --bs-navbar-brand-hover-color: var(--bs-fg);\n    --bs-navbar-nav-link-padding-x: 0.75rem;\n    --bs-navbar-toggler-padding-y: 0.25rem;\n    --bs-navbar-toggler-padding-x: 0.75rem;\n    --bs-navbar-toggler-font-size: 17.5px;\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--bs-color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n    --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n    --bs-navbar-toggler-focus-width: 0.25em;\n    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--bs-navbar-brand-padding-y);\n    padding-bottom: var(--bs-navbar-brand-padding-y);\n    margin-inline-end: var(--bs-navbar-brand-margin-end);\n    font-size: var(--bs-navbar-brand-font-size);\n    color: var(--bs-navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--bs-navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --bs-nav-link-color: var(--bs-navbar-color);\n    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--bs-navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n    font-size: var(--bs-navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--bs-navbar-color);\n    background-color: transparent;\n    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n    border-radius: var(--bs-navbar-toggler-border-radius);\n    transition: var(--bs-navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus {\n    text-decoration: none;\n    outline: 0;\n    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--bs-navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--bs-scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --bs-navbar-color: rgba(255, 255, 255, 0.55);\n    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --bs-navbar-active-color: #fff;\n    --bs-navbar-brand-color: #fff;\n    --bs-navbar-brand-hover-color: #fff;\n    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --bs-offcanvas-zindex: 1045;\n  --bs-offcanvas-width: 400px;\n  --bs-offcanvas-height: 30vh;\n  --bs-offcanvas-padding-x: 1rem;\n  --bs-offcanvas-padding-y: 1rem;\n  --bs-offcanvas-color: var(--bs-color-body);\n  --bs-offcanvas-bg: var(--bs-bg-body);\n  --bs-offcanvas-border-width: var(--bs-border-width);\n  --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n  --bs-offcanvas-transition: transform 0.3s ease-in-out;\n  --bs-offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--bs-offcanvas-box-shadow);\n    transition: var(--bs-offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--bs-offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--bs-offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --bs-pagination-padding-x: 0.75rem;\n    --bs-pagination-padding-y: 0.375rem;\n    --bs-pagination-font-size: 14px;\n    --bs-pagination-color: var(--bs-link-color);\n    --bs-pagination-bg: var(--bs-bg-body);\n    --bs-pagination-border-width: var(--bs-border-width);\n    --bs-pagination-border-color: var(--bs-border-color);\n    --bs-pagination-border-radius: var(--bs-border-radius);\n    --bs-pagination-hover-color: var(--bs-link-hover-color);\n    --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n    --bs-pagination-hover-border-color: var(--bs-border-color);\n    --bs-pagination-focus-color: var(--bs-link-hover-color);\n    --bs-pagination-focus-bg: var(--bs-secondary-bg);\n    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--bs-primary-focus-ring);\n    --bs-pagination-active-color: var(--bs-primary-contrast);\n    --bs-pagination-active-bg: var(--bs-primary-bg);\n    --bs-pagination-active-border-color: var(--bs-primary-bg);\n    --bs-pagination-disabled-color: var(--bs-secondary-color);\n    --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n    --bs-pagination-disabled-border-color: var(--bs-border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n    font-size: var(--bs-pagination-font-size);\n    color: var(--bs-pagination-color);\n    text-decoration: none;\n    background-color: var(--bs-pagination-bg);\n    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--bs-pagination-hover-color);\n    background-color: var(--bs-pagination-hover-bg);\n    border-color: var(--bs-pagination-hover-border-color);\n  }\n  .page-link:focus {\n    z-index: 3;\n    color: var(--bs-pagination-focus-color);\n    background-color: var(--bs-pagination-focus-bg);\n    outline: 0;\n    box-shadow: var(--bs-pagination-focus-box-shadow);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--bs-pagination-active-color);\n    background-color: var(--bs-pagination-active-bg);\n    border-color: var(--bs-pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--bs-pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-pagination-disabled-bg);\n    border-color: var(--bs-pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--bs-pagination-border-radius);\n    border-end-start-radius: var(--bs-pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--bs-pagination-border-radius);\n    border-end-end-radius: var(--bs-pagination-border-radius);\n  }\n  .pagination-lg {\n    --bs-pagination-padding-x: 1.5rem;\n    --bs-pagination-padding-y: 0.75rem;\n    --bs-pagination-font-size: 17.5px;\n    --bs-pagination-border-radius: var(--bs-border-radius-lg);\n  }\n  .pagination-sm {\n    --bs-pagination-padding-x: 0.5rem;\n    --bs-pagination-padding-y: 0.25rem;\n    --bs-pagination-font-size: 12.25px;\n    --bs-pagination-border-radius: var(--bs-border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: 0.5;\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: 0.2;\n    }\n  }\n  .placeholder-wave {\n    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    -webkit-mask-size: 200% 100%;\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      -webkit-mask-position: -200% 0%;\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --bs-popover-zindex: 1070;\n    --bs-popover-max-width: 280px;\n    --bs-popover-font-size: var(--bs-font-size-sm);\n    --bs-popover-bg: var(--bs-bg-body);\n    --bs-popover-border-width: var(--bs-border-width);\n    --bs-popover-border-color: var(--bs-border-color-translucent);\n    --bs-popover-border-radius: var(--bs-border-radius-lg);\n    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-popover-box-shadow: var(--bs-box-shadow);\n    --bs-popover-header-padding-x: 1rem;\n    --bs-popover-header-padding-y: 0.75rem;\n    --bs-popover-header-font-size: 14px;\n    --bs-popover-header-color: inherit;\n    --bs-popover-header-bg: var(--bs-bg-1);\n    --bs-popover-body-padding-x: 1rem;\n    --bs-popover-body-padding-y: 0.75rem;\n    --bs-popover-body-color: var(--bs-color-body);\n    --bs-popover-arrow-width: 1rem;\n    --bs-popover-arrow-height: 0.5rem;\n    --bs-popover-arrow-border: var(--bs-popover-border-color);\n    z-index: var(--bs-popover-zindex);\n    display: block;\n    max-width: var(--bs-popover-max-width);\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--bs-popover-bg);\n    background-clip: padding-box;\n    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-radius: var(--bs-popover-border-radius);\n    box-shadow: var(--bs-popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    height: var(--bs-popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--bs-popover-border-width);\n    border-block-start-color: var(--bs-popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--bs-popover-border-width);\n    border-inline-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--bs-popover-border-width);\n    border-block-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--bs-popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--bs-popover-border-width);\n    border-inline-start-color: var(--bs-popover-bg);\n  }\n  .popover-header {\n    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--bs-popover-header-font-size);\n    color: var(--bs-popover-header-color);\n    background-color: var(--bs-popover-header-bg);\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-start-start-radius: var(--bs-popover-inner-border-radius);\n    border-start-end-radius: var(--bs-popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n    color: var(--bs-popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--bs-progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --bs-progress-height: 1rem;\n    --bs-progress-font-size: 10.5px;\n    --bs-progress-bg: var(--bs-secondary-bg);\n    --bs-progress-border-radius: var(--bs-border-radius);\n    --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n    --bs-progress-bar-color: #fff;\n    --bs-progress-bar-bg: var(--bs-primary-bg);\n    --bs-progress-bar-transition: width 0.6s ease;\n    display: flex;\n    height: var(--bs-progress-height);\n    overflow: hidden;\n    font-size: var(--bs-progress-font-size);\n    background-color: var(--bs-progress-bg);\n    border-radius: var(--bs-progress-border-radius);\n    box-shadow: var(--bs-progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--bs-progress-bar-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-progress-bar-bg);\n    transition: var(--bs-progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--bs-progress-height) var(--bs-progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: 1s linear infinite progress-bar-stripes;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--bs-spinner-width);\n    height: var(--bs-spinner-height);\n    vertical-align: var(--bs-spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-border-width: 0.25em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-border;\n    border: var(--bs-spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n    --bs-spinner-border-width: 0.2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --bs-spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .toast {\n    --bs-toast-zindex: 1090;\n    --bs-toast-padding-x: 0.75rem;\n    --bs-toast-padding-y: 0.5rem;\n    --bs-toast-spacing: 1.5rem;\n    --bs-toast-max-width: 350px;\n    --bs-toast-font-size: 0.875rem;\n    --bs-toast-color: ;\n    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-border-width: var(--bs-border-width);\n    --bs-toast-border-color: var(--bs-border-color-translucent);\n    --bs-toast-border-radius: var(--bs-border-radius);\n    --bs-toast-box-shadow: var(--bs-box-shadow);\n    --bs-toast-header-color: var(--bs-secondary-color);\n    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-header-border-color: var(--bs-border-color-translucent);\n    width: var(--bs-toast-max-width);\n    max-width: 100%;\n    font-size: var(--bs-toast-font-size);\n    color: var(--bs-toast-color);\n    pointer-events: auto;\n    background-color: var(--bs-toast-bg);\n    background-clip: padding-box;\n    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n    box-shadow: var(--bs-toast-box-shadow);\n    border-radius: var(--bs-toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --bs-toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--bs-toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--bs-toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n    color: var(--bs-toast-header-color);\n    background-color: var(--bs-toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n    border-start-start-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n    border-start-end-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--bs-toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--bs-toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--bs-toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .text-bg-primary {\n    color: var(--bs-primary-text);\n    --bs-bg: var(--bs-primary-bg-subtle);\n  }\n  .text-bg-accent {\n    color: var(--bs-accent-text);\n    --bs-bg: var(--bs-accent-bg-subtle);\n  }\n  .text-bg-success {\n    color: var(--bs-success-text);\n    --bs-bg: var(--bs-success-bg-subtle);\n  }\n  .text-bg-danger {\n    color: var(--bs-danger-text);\n    --bs-bg: var(--bs-danger-bg-subtle);\n  }\n  .text-bg-warning {\n    color: var(--bs-warning-text);\n    --bs-bg: var(--bs-warning-bg-subtle);\n  }\n  .text-bg-info {\n    color: var(--bs-info-text);\n    --bs-bg: var(--bs-info-bg-subtle);\n  }\n  .text-bg-inverse {\n    color: var(--bs-inverse-text);\n    --bs-bg: var(--bs-inverse-bg-subtle);\n  }\n  .text-bg-secondary {\n    color: var(--bs-secondary-text);\n    --bs-bg: var(--bs-secondary-bg-subtle);\n  }\n}\n@layer helpers {\n  .link-primary {\n    --bs-link-color: var(--bs-primary-text);\n  }\n  .link-primary:hover, .link-primary:focus {\n    --bs-link-color: var(--bs-primary-text-emphasis);\n    --bs-link-hover-color: var(--bs-primary-text-emphasis);\n  }\n  .link-accent {\n    --bs-link-color: var(--bs-accent-text);\n  }\n  .link-accent:hover, .link-accent:focus {\n    --bs-link-color: var(--bs-accent-text-emphasis);\n    --bs-link-hover-color: var(--bs-accent-text-emphasis);\n  }\n  .link-success {\n    --bs-link-color: var(--bs-success-text);\n  }\n  .link-success:hover, .link-success:focus {\n    --bs-link-color: var(--bs-success-text-emphasis);\n    --bs-link-hover-color: var(--bs-success-text-emphasis);\n  }\n  .link-danger {\n    --bs-link-color: var(--bs-danger-text);\n  }\n  .link-danger:hover, .link-danger:focus {\n    --bs-link-color: var(--bs-danger-text-emphasis);\n    --bs-link-hover-color: var(--bs-danger-text-emphasis);\n  }\n  .link-warning {\n    --bs-link-color: var(--bs-warning-text);\n  }\n  .link-warning:hover, .link-warning:focus {\n    --bs-link-color: var(--bs-warning-text-emphasis);\n    --bs-link-hover-color: var(--bs-warning-text-emphasis);\n  }\n  .link-info {\n    --bs-link-color: var(--bs-info-text);\n  }\n  .link-info:hover, .link-info:focus {\n    --bs-link-color: var(--bs-info-text-emphasis);\n    --bs-link-hover-color: var(--bs-info-text-emphasis);\n  }\n  .link-inverse {\n    --bs-link-color: var(--bs-inverse-text);\n  }\n  .link-inverse:hover, .link-inverse:focus {\n    --bs-link-color: var(--bs-inverse-text-emphasis);\n    --bs-link-hover-color: var(--bs-inverse-text-emphasis);\n  }\n  .link-secondary {\n    --bs-link-color: var(--bs-secondary-text);\n  }\n  .link-secondary:hover, .link-secondary:focus {\n    --bs-link-color: var(--bs-secondary-text-emphasis);\n    --bs-link-hover-color: var(--bs-secondary-text-emphasis);\n  }\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));\n  }\n  .link-body-emphasis:hover, .link-body-emphasis:focus {\n    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));\n    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));\n  }\n}\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: 0.25;\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    -o-object-fit: contain;\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    -o-object-fit: cover;\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    -o-object-fit: fill;\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    -o-object-fit: scale-down;\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    -o-object-fit: none;\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: -moz-fit-content;\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: -moz-fit-content;\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    -moz-column-gap: 0;\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    -moz-column-gap: 0.25rem;\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    -moz-column-gap: 0.5rem;\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    -moz-column-gap: 1.5rem;\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    -moz-column-gap: 3rem;\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    -webkit-user-select: all;\n    user-select: all;\n  }\n  .user-select-auto {\n    -webkit-user-select: auto;\n    user-select: auto;\n  }\n  .user-select-none {\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--#{$prefix}root-font-size);\n      // @include font-size(var(--#{$prefix}root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--#{$prefix}body-font-family);\n    font-size: var(--#{$prefix}body-font-size);\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}color-body);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-block-start: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--#{$prefix}link-color);\n    text-decoration: var(--#{$prefix}link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --#{$prefix}link-color: var(--#{$prefix}link-hover-color);\n      // --#{$prefix}link-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n      color: var(--#{$prefix}link-hover-color);\n      text-decoration: var(--#{$prefix}link-hover-decoration, var(--#{$prefix}link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--#{$prefix}code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--#{$prefix}secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    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    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--#{$prefix}color-body) !default;\n$table-bg:                    var(--#{$prefix}bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--#{$prefix}table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--#{$prefix}secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --#{$prefix}table-color-type: initial;\n    --#{$prefix}table-bg-type: initial;\n    --#{$prefix}table-color-state: initial;\n    --#{$prefix}table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --#{$prefix}table-color: #{$table-color};\n    --#{$prefix}table-bg: #{$table-bg};\n    --#{$prefix}table-border-color: #{$table-border-color};\n    --#{$prefix}table-accent-bg: #{$table-accent-bg};\n    --#{$prefix}table-striped-color: #{$table-striped-color};\n    --#{$prefix}table-striped-bg: #{$table-striped-bg};\n    --#{$prefix}table-active-color: #{$table-active-color};\n    --#{$prefix}table-active-bg: #{$table-active-bg};\n    --#{$prefix}table-hover-color: #{$table-hover-color};\n    --#{$prefix}table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--#{$prefix}theme-border, var(--#{$prefix}table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}theme-text, var(--#{$prefix}table-color))));\n      background-color: var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --#{$prefix}table-color-type: var(--#{$prefix}theme-text, var(--#{$prefix}table-striped-color));\n      --#{$prefix}table-bg-type: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --#{$prefix}table-color-type: var(--#{$prefix}theme-text, var(--#{$prefix}table-striped-color));\n      --#{$prefix}table-bg-type: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --#{$prefix}table-color-state: var(--#{$prefix}theme-text, var(--#{$prefix}table-active-color));\n    --#{$prefix}table-bg-state: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --#{$prefix}table-color-state: var(--#{$prefix}theme-text, var(--#{$prefix}table-hover-color));\n      --#{$prefix}table-bg-state: color-mix(in srgb, var(--#{$prefix}theme-text, var(--#{$prefix}table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\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 for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}bg-body) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --#{$prefix}content-font-size: var(--#{$prefix}font-size-sm);\n    --#{$prefix}content-gap: 20px;\n    --#{$prefix}heading-color: light-dark(var(--bs-gray-900), var(--bs-white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--#{$prefix}content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--#{$prefix}content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --#{$prefix}content-font-size: var(--#{$prefix}font-size-md);\n      --#{$prefix}content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--#{$prefix}content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--#{$prefix}content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--#{$prefix}content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: 1px solid var(--#{$prefix}border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      margin-top: 0;\n      margin-bottom: calc(var(--#{$prefix}content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--#{$prefix}content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--#{$prefix}content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      margin-bottom: calc(var(--#{$prefix}content-gap) / 4);\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--#{$prefix}link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--#{$prefix}link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--#{$prefix}link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--#{$prefix}content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--#{$prefix}border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--#{$prefix}border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --#{$prefix}gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--#{$prefix}gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --#{$prefix}columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --#{$prefix}columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --#{$prefix}columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-top: calc(-1 * var(--#{$prefix}gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  margin-inline-start: if($num == 0, 0, math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    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    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    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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .form-control {\n    --#{$prefix}control-min-height: #{$control-min-height};\n    --#{$prefix}control-padding-y: #{$control-padding-y};\n    --#{$prefix}control-padding-x: #{$control-padding-x};\n    --#{$prefix}control-font-size: #{$control-font-size};\n    --#{$prefix}control-line-height: #{$control-line-height};\n    --#{$prefix}control-color: #{$control-color};\n    --#{$prefix}control-bg: #{$control-bg};\n    --#{$prefix}control-border-width: #{$control-border-width};\n    --#{$prefix}control-border-color: #{$control-border-color};\n    --#{$prefix}control-border-radius: #{$control-border-radius};\n    --#{$prefix}control-select-bg-color: #{$control-select-indicator-color};\n    --#{$prefix}control-select-bg: #{escape-svg($control-select-indicator)};\n    --#{$prefix}control-select-bg-position: #{$control-select-bg-position};\n    --#{$prefix}control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--#{$prefix}control-min-height);\n    padding: var(--#{$prefix}control-padding-y) var(--#{$prefix}control-padding-x);\n    font-size: var(--#{$prefix}control-font-size);\n    line-height: var(--#{$prefix}control-line-height);\n    color: var(--#{$prefix}control-color);\n    appearance: none;\n    background-color: var(--#{$prefix}control-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}control-border-width) solid var(--#{$prefix}control-border-color);\n    @include border-radius(var(--#{$prefix}control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      height: if(math.unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--#{$prefix}control-min-height);\n      padding: var(--#{$prefix}control-padding-y) var(--#{$prefix}control-padding-x);\n      margin: calc(var(--#{$prefix}control-padding-y) * -1) calc(var(--#{$prefix}control-padding-x) * -1);\n      margin-inline-end: var(--#{$prefix}control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--#{$prefix}control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: $input-padding-y 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--#{$prefix}control-padding-x) * 3);\n    background-image: var(--#{$prefix}control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--#{$prefix}control-select-bg-position);\n    background-size: var(--#{$prefix}control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--#{$prefix}control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --#{$prefix}control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n  .form-control-sm {\n    --#{$prefix}control-min-height: #{$control-min-height-sm};\n    --#{$prefix}control-padding-y: #{$control-padding-y-sm};\n    --#{$prefix}control-padding-x: #{$control-padding-x-sm};\n    --#{$prefix}control-font-size: #{$control-font-size-sm};\n    --#{$prefix}control-line-height: #{$control-line-height-sm};\n    --#{$prefix}control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --#{$prefix}control-min-height: #{$control-min-height-lg};\n    --#{$prefix}control-padding-y: #{$control-padding-y-lg};\n    --#{$prefix}control-padding-x: #{$control-padding-x-lg};\n    --#{$prefix}control-font-size: #{$control-font-size-lg};\n    --#{$prefix}control-line-height: #{$control-line-height-lg};\n    --#{$prefix}control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--#{$prefix}focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--#{$prefix}focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--#{$prefix}focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--#{$prefix}gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--#{$prefix}gray-700), $end-color: var(--#{$prefix}gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--#{$prefix}gray-700), $outer-color: var(--#{$prefix}gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--#{$prefix}border-color) !default;\n$check-checked-bg: var(--#{$prefix}primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--#{$prefix}primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--#{$prefix}bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--#{$prefix}gap, .5rem);\n    align-items: var(--#{$prefix}align-items, start);\n\n    .description {\n      color: var(--#{$prefix}secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --#{$prefix}check-bg: transparent;\n    --#{$prefix}check-border-color: #{$check-border-color};\n    --#{$prefix}check-checked-bg: #{$check-checked-bg};\n    --#{$prefix}check-checked-border-color: #{$check-checked-border-color};\n    --#{$prefix}check-indeterminate-bg: #{$check-indeterminate-bg};\n    --#{$prefix}check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --#{$prefix}check-disabled-bg: #{$check-disabled-bg};\n    --#{$prefix}check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-bg));\n      border: 1px solid var(--#{$prefix}theme-bg, var(--#{$prefix}check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-checked-bg));\n      border-color: var(--#{$prefix}theme-bg, var(--#{$prefix}check-checked-border-color));\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--#{$prefix}primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --#{$prefix}check-bg: var(--#{$prefix}check-disabled-bg);\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:has(input:disabled:checked) {\n      opacity: var(--#{$prefix}check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--#{$prefix}border-color) !default;\n$radio-checked-bg: var(--#{$prefix}primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--#{$prefix}bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--#{$prefix}gap, .5rem);\n    align-items: var(--#{$prefix}align-items, start);\n\n    .description {\n      color: var(--#{$prefix}secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --#{$prefix}radio-bg: transparent;\n    --#{$prefix}radio-border-color: #{$radio-border-color};\n    --#{$prefix}radio-checked-bg: #{$radio-checked-bg};\n    --#{$prefix}radio-checked-border-color: #{$radio-checked-border-color};\n    --#{$prefix}radio-disabled-bg: #{$radio-disabled-bg};\n    --#{$prefix}radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-bg));\n    border: 1px solid var(--#{$prefix}theme-bg, var(--#{$prefix}radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--#{$prefix}theme-contrast, var(--#{$prefix}primary-contrast));\n      background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-checked-bg));\n      border-color: var(--#{$prefix}theme-bg, var(--#{$prefix}radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --#{$prefix}radio-bg: var(--#{$prefix}radio-disabled-bg);\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --#{$prefix}switch-height: 1.25rem;\n    --#{$prefix}switch-width: calc(var(--#{$prefix}switch-height) * 1.5);\n    --#{$prefix}switch-padding: .0625rem;\n    --#{$prefix}switch-bg: var(--#{$prefix}secondary-bg);\n    --#{$prefix}switch-border-width: var(--#{$prefix}border-width);\n    --#{$prefix}switch-border-color: var(--#{$prefix}border-color);\n    --#{$prefix}switch-indicator-bg: var(--#{$prefix}white);\n    --#{$prefix}switch-checked-bg: var(--#{$prefix}primary-base);\n    --#{$prefix}switch-checked-border-color: var(--#{$prefix}switch-checked-bg);\n    --#{$prefix}switch-checked-indicator-bg: var(--#{$prefix}white);\n    --#{$prefix}switch-disabled-bg: var(--#{$prefix}secondary-bg);\n    --#{$prefix}switch-disabled-indicator-bg: var(--#{$prefix}secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--#{$prefix}switch-width);\n    height: var(--#{$prefix}switch-height);\n    padding: var(--#{$prefix}switch-padding);\n    background-color: var(--#{$prefix}switch-bg);\n    border: var(--#{$prefix}switch-border-width) solid var(--#{$prefix}switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2) - var(--#{$prefix}switch-border-width) * 2);\n      height: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2) - var(--#{$prefix}switch-border-width) * 2);\n      // width: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2));\n      // height: calc(var(--#{$prefix}switch-height) - calc(var(--#{$prefix}switch-padding) * 2));\n      content: \"\";\n      background-color: var(--#{$prefix}switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--#{$prefix}switch-height) / 2 + var(--#{$prefix}switch-padding));\n      background-color: var(--#{$prefix}switch-checked-bg);\n      border-color: var(--#{$prefix}switch-checked-border-color);\n    }\n\n    &:has(input:disabled) {\n      --#{$prefix}switch-bg: var(--#{$prefix}switch-disabled-bg);\n      --#{$prefix}switch-indicator-bg: var(--#{$prefix}switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--#{$prefix}secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --#{$prefix}switch-height: 1em;\n  }\n  .switch-lg {\n    --#{$prefix}switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width:                   1rem !default;\n$form-range-thumb-height:                  $form-range-thumb-width !default;\n$form-range-thumb-bg:                      $component-active-bg !default;\n$form-range-thumb-border:                  0 !default;\n$form-range-thumb-border-radius:           1rem !default;\n$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      // No box-shadow() mixin for focus accessibility.\n      &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n      &::-moz-range-thumb     { box-shadow: $form-range-thumb-focus-box-shadow; }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--#{$prefix}gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    $validation-messages: \"\";\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 var(--#{$prefix}font-size-sm) !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}bg-body) !default;\n$tooltip-bg:                        var(--#{$prefix}fg-body) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .95 !default;\n$tooltip-padding-y:                 $spacer * .375 !default;\n$tooltip-padding-x:                 $spacer * .75 !default;\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size:     $tooltip-font-size !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n@layer components {\n  .tooltip {\n    // scss-docs-start tooltip-css-vars\n    --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n    --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n    --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n    --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n    --#{$prefix}tooltip-font-size: #{$tooltip-font-size};\n    --#{$prefix}tooltip-color: #{$tooltip-color};\n    --#{$prefix}tooltip-bg: #{$tooltip-bg};\n    --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n    --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n    --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n    --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--#{$prefix}tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--#{$prefix}tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--#{$prefix}tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--#{$prefix}tooltip-arrow-width);\n      height: var(--#{$prefix}tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-block-end-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-inline-start-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--#{$prefix}tooltip-max-width);\n    padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n    color: var(--#{$prefix}tooltip-color);\n    text-align: center;\n    background-color: var(--#{$prefix}tooltip-bg);\n    @include border-radius(var(--#{$prefix}tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(&, \"&\", \"\")}:#{$state},\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --#{$prefix}form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --#{$prefix}btn-min-height: 2.25rem;\n    --#{$prefix}btn-padding-x: #{$btn-padding-x};\n    --#{$prefix}btn-padding-y: #{$btn-padding-y};\n    --#{$prefix}btn-font-family: #{$btn-font-family};\n    --#{$prefix}btn-font-size: #{$btn-font-size};\n    --#{$prefix}btn-font-weight: #{$btn-font-weight};\n    --#{$prefix}btn-line-height: #{$btn-line-height};\n    --#{$prefix}btn-color: #{$btn-color};\n    --#{$prefix}btn-border-width: #{$btn-border-width};\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-border-radius: #{$btn-border-radius};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--#{$prefix}btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--#{$prefix}btn-min-height);\n    padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n    font-family: var(--#{$prefix}btn-font-family);\n    font-size: var(--#{$prefix}btn-font-size);\n    font-weight: var(--#{$prefix}btn-font-weight);\n    line-height: var(--#{$prefix}btn-line-height);\n    color: var(--#{$prefix}btn-color);\n    text-decoration: 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: var(--#{$prefix}btn-bg, var(--#{$prefix}bg-2));\n    border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n    @include border-radius(var(--#{$prefix}btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n      background-color: var(--#{$prefix}btn-hover-bg, var(--#{$prefix}bg-3));\n      border-color: var(--#{$prefix}btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--#{$prefix}btn-active-color);\n      background-color: var(--#{$prefix}btn-active-bg, var(--#{$prefix}bg-3));\n      border-color: var(--#{$prefix}btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--#{$prefix}btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}btn-disabled-bg, var(--#{$prefix}bg-1));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-disabled-border-color);\n      opacity: var(--#{$prefix}btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-#{$property}: transparent;\n        } @else {\n          --#{$prefix}btn-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --#{$prefix}btn-active-#{$property}: var(--#{$prefix}theme-#{$value});\n        } @else {\n          --#{$prefix}btn-active-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --#{$prefix}btn-disabled-#{$property}: transparent;\n        } @else {\n          --#{$prefix}btn-disabled-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --#{$prefix}btn-hover-#{$property}: color-mix(in oklch, var(--#{$prefix}theme-#{$first-value}) 50%, var(--#{$prefix}theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --#{$prefix}btn-hover-#{$property}: var(--#{$prefix}theme-#{$value});\n          } @else {\n            --#{$prefix}btn-hover-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--#{$prefix}theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --#{$prefix}btn-active-#{$property}: var(--#{$prefix}theme-#{$value});\n          } @else {\n            --#{$prefix}btn-active-#{$property}: oklch(from var(--#{$prefix}theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --#{$prefix}btn-disabled-#{$property}: transparent;\n          } @else {\n            --#{$prefix}btn-disabled-#{$property}: var(--#{$prefix}theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --#{$prefix}btn-font-weight: #{$font-weight-normal};\n    --#{$prefix}btn-color: #{$btn-link-color};\n    --#{$prefix}btn-bg: transparent;\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-active-border-color: transparent;\n    --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n    --#{$prefix}btn-disabled-border-color: transparent;\n    --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows\n    // --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};\n\n    text-decoration: var(--#{$prefix}link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}btn-color);\n    }\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --#{$prefix}btn-min-height: #{map.get($properties, \"min-height\")};\n      --#{$prefix}btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --#{$prefix}btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --#{$prefix}btn-font-size: #{map.get($properties, \"font-size\")};\n      --#{$prefix}btn-line-height: #{map.get($properties, \"line-height\")};\n      --#{$prefix}btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--#{$prefix}btn-active-color);\n      background-color: var(--#{$prefix}btn-active-bg, var(--#{$prefix}bg-3));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-active-border-color);\n      @include box-shadow(var(--#{$prefix}btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--#{$prefix}btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}btn-disabled-bg, var(--#{$prefix}bg-1));\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-disabled-border-color);\n      opacity: var(--#{$prefix}btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --#{$prefix}btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --#{$prefix}btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --#{$prefix}btn-border-mix-color: #000;\n    --#{$prefix}btn-border-mix-amount: 10%;\n    --#{$prefix}btn-border-hover-mix-amount: 12.5%;\n    --#{$prefix}btn-border-active-mix-amount: 20%;\n    --#{$prefix}btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --#{$prefix}btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--#{$prefix}btn-gradient-start),\n        var(--#{$prefix}btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-mix-amount));\n    box-shadow: var(--#{$prefix}btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--#{$prefix}btn-gradient-start),\n          var(--#{$prefix}btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--#{$prefix}theme-bg), var(--#{$prefix}btn-border-mix-color) var(--#{$prefix}btn-border-active-mix-amount));\n      box-shadow: var(--#{$prefix}btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"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:has(input:checked),\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:hover,\n    > [class*=\"btn-\"]:focus,\n    > [class*=\"btn-\"]:active,\n    > [class*=\"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    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $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    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--#{$prefix}fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --#{$prefix}btn-close-size: #{$btn-close-size};\n    --#{$prefix}btn-close-color: #{$btn-close-color};\n    --#{$prefix}btn-close-opacity: #{$btn-close-opacity};\n    --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--#{$prefix}btn-close-size);\n    height: var(--#{$prefix}btn-close-size);\n    padding: 0;\n    color: var(--#{$prefix}btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--#{$prefix}border-radius-sm));\n    opacity: var(--#{$prefix}btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--#{$prefix}btn-close-color);\n      text-decoration: none;\n      opacity: var(--#{$prefix}btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--#{$prefix}btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--#{$prefix}btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}color-body) !default;\n$accordion-bg:                            var(--#{$prefix}bg-body) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius-lg) !default;\n$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;\n\n$accordion-body-padding-y:                $accordion-padding-y !default;\n$accordion-body-padding-x:                $accordion-padding-x !default;\n\n$accordion-button-padding-y:              $accordion-padding-y !default;\n$accordion-button-padding-x:              $accordion-padding-x !default;\n$accordion-button-color:                  var(--#{$prefix}fg-2) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}bg-2) !default;\n$accordion-button-active-color:           var(--#{$prefix}fg) !default;\n\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#000' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n@layer componenents {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --#{$prefix}accordion-color: #{$accordion-color};\n    --#{$prefix}accordion-bg: #{$accordion-bg};\n    --#{$prefix}accordion-transition: #{$accordion-transition};\n    --#{$prefix}accordion-border-color: #{$accordion-border-color};\n    --#{$prefix}accordion-border-width: #{$accordion-border-width};\n    --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n    --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n    --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n    --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n    --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n    --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n    --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n    --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n    --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n    --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-button {\n    position: relative;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n    font-size: $font-size-base;\n    color: var(--#{$prefix}accordion-btn-color);\n    text-align: start; // Reset button style\n    background-color: var(--#{$prefix}accordion-btn-bg);\n    border: 0;\n    @include border-radius(0);\n    overflow-anchor: none;\n    @include transition(var(--#{$prefix}accordion-transition));\n\n    &:not(.collapsed) {\n      color: var(--#{$prefix}accordion-active-color);\n      background-color: var(--#{$prefix}accordion-active-bg);\n      box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color);\n\n      &::after {\n        background-image: var(--#{$prefix}accordion-btn-active-icon);\n        transform: var(--#{$prefix}accordion-btn-icon-transform);\n      }\n    }\n\n    // Accordion icon\n    &::after {\n      flex-shrink: 0;\n      width: var(--#{$prefix}accordion-btn-icon-width);\n      height: var(--#{$prefix}accordion-btn-icon-width);\n      margin-inline-start: auto;\n      content: \"\";\n      background-color: var(--#{$prefix}accordion-btn-color);\n      mask: var(--#{$prefix}accordion-btn-icon) no-repeat center 100%;\n      @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus {\n      z-index: 3;\n      outline: 0;\n      box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n    }\n  }\n\n  .accordion-header {\n    margin-bottom: 0;\n  }\n\n  .accordion-item {\n    color: var(--#{$prefix}accordion-color);\n    background-color: var(--#{$prefix}accordion-bg);\n    border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        &.collapsed {\n          @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n        }\n      }\n\n      > .accordion-collapse {\n        @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child { border-block-start: 0; }\n      &:last-child { border-block-end: 0; }\n\n      // stylelint-disable selector-max-class\n      > .accordion-collapse,\n      > .accordion-header .accordion-button,\n      > .accordion-header .accordion-button.collapsed {\n        @include border-radius(0);\n      }\n      // stylelint-enable selector-max-class\n    }\n  }\n\n  // @if $enable-dark-mode {\n  //   @include color-mode(dark) {\n  //     .accordion-button::after {\n  //       --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)};\n  //       --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)};\n  //     }\n  //   }\n  // }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --#{$prefix}alert-bg: var(--#{$prefix}theme-bg-subtle, transparent);\n    --#{$prefix}alert-padding-x: #{$alert-padding-x};\n    --#{$prefix}alert-padding-y: #{$alert-padding-y};\n    --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n    --#{$prefix}alert-color: var(--#{$prefix}theme-text, inherit);\n    --#{$prefix}alert-border-color: transparent;\n    --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}theme-border, var(--#{$prefix}alert-border-color));\n    --#{$prefix}alert-border-radius: #{$alert-border-radius};\n    --#{$prefix}alert-link-color: inherit;\n    // scss-docs-end alert-css-vars\n\n    position: relative;\n    padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n    // margin-bottom: var(--#{$prefix}alert-margin-bottom);\n    color: var(--#{$prefix}alert-color);\n    background-color: var(--#{$prefix}alert-bg);\n    border: var(--#{$prefix}alert-border);\n    @include border-radius(var(--#{$prefix}alert-border-radius));\n  }\n\n  // Headings for larger alerts\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n    color: var(--#{$prefix}alert-link-color);\n  }\n\n\n  // Dismissible alerts\n  //\n  // Expand the right padding and account for the close button's positioning.\n\n  .alert-dismissible {\n    padding-inline-end: $alert-dismissible-padding-r;\n\n    // Adjust close link position\n    .btn-close {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-end: 0;\n      z-index: $stretched-link-z-index + 1;\n      padding: $alert-padding-y * 1.25 $alert-padding-x;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       inherit !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .5em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --#{$prefix}badge-padding-x: #{$badge-padding-x};\n    --#{$prefix}badge-padding-y: #{$badge-padding-y};\n    --#{$prefix}badge-font-size: #{$badge-font-size};\n    --#{$prefix}badge-font-weight: #{$badge-font-weight};\n    --#{$prefix}badge-color: #{$badge-color};\n    --#{$prefix}badge-bg: var(--#{$prefix}bg-2);\n    --#{$prefix}badge-border-width: #{$border-width};\n    --#{$prefix}badge-border-color: transparent;\n    --#{$prefix}badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-block;\n    padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n    font-size: var(--#{$prefix}badge-font-size);\n    font-weight: var(--#{$prefix}badge-font-weight);\n    line-height: 1;\n    color: var(--#{$prefix}theme-contrast, var(--#{$prefix}badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--#{$prefix}theme-bg, var(--#{$prefix}badge-bg));\n    border: var(--#{$prefix}badge-border-width) solid var(--#{$prefix}badge-border-color);\n    @include border-radius(var(--#{$prefix}badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --#{$prefix}badge-#{$property}: transparent;\n        } @else {\n          --#{$prefix}badge-#{$property}: var(--#{$prefix}theme-#{$value});\n        }\n      }\n\n      color: var(--#{$prefix}badge-color);\n      background-color: var(--#{$prefix}badge-bg);\n      border-color: var(--#{$prefix}badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size:              null !default;\n$breadcrumb-padding-y:              0 !default;\n$breadcrumb-padding-x:              0 !default;\n$breadcrumb-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                string.quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    --#{$prefix}breadcrumb-font-size: #{$breadcrumb-font-size};\n    --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n    --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n    --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n    margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n    font-size: var(--#{$prefix}breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--#{$prefix}breadcrumb-bg);\n    @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n    + .breadcrumb-item {\n      padding-inline-start: var(--#{$prefix}breadcrumb-item-padding-x);\n\n      &::before {\n        float: inline-start; // Suppress inline spacings and underlining of the separator\n        padding-inline-end: var(--#{$prefix}breadcrumb-item-padding-x);\n        color: var(--#{$prefix}breadcrumb-divider-color);\n        content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider));\n      }\n    }\n\n    [dir=\"rtl\"] &:not(:first-child)::before {\n      content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped));\n    }\n\n    &.active {\n      color: var(--#{$prefix}breadcrumb-item-active-color);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}bg-body) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --#{$prefix}card-spacer-y: #{$card-spacer-y};\n    --#{$prefix}card-spacer-x: #{$card-spacer-x};\n    --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n    --#{$prefix}card-title-color: #{$card-title-color};\n    --#{$prefix}card-subtitle-color: #{$card-subtitle-color};\n    --#{$prefix}card-border-width: #{$card-border-width};\n    --#{$prefix}card-border-color: #{$card-border-color};\n    --#{$prefix}card-border-radius: #{$card-border-radius};\n    --#{$prefix}card-box-shadow: #{$card-box-shadow};\n    --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n    --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n    --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n    --#{$prefix}card-cap-bg: #{$card-cap-bg};\n    --#{$prefix}card-cap-color: #{$card-cap-color};\n    --#{$prefix}card-height: #{$card-height};\n    --#{$prefix}card-color: #{$card-color};\n    --#{$prefix}card-bg: #{$card-bg};\n    --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n    --#{$prefix}card-group-margin: #{$card-group-margin};\n    // scss-docs-end card-css-vars\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--#{$prefix}card-height);\n    color: var(--#{$prefix}color-body);\n    word-wrap: break-word;\n    background-color: var(--#{$prefix}card-bg);\n    background-clip: border-box;\n    border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n    @include border-radius(var(--#{$prefix}card-border-radius));\n    @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n\n    > .list-group {\n      border-block: inherit;\n\n      &:first-child {\n        border-block-start-width: 0;\n        @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n\n      &:last-child  {\n        border-block-end-width: 0;\n        @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n    }\n\n    // Due to specificity of the above selector (`.card > .list-group`), we must\n    // use a child selector here to prevent double borders.\n    > .card-header + .list-group,\n    > .list-group + .card-footer {\n      border-block-start: 0;\n    }\n  }\n\n  .card-body {\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n    color: var(--#{$prefix}card-color);\n  }\n\n  .card-title {\n    margin-bottom: var(--#{$prefix}card-title-spacer-y);\n    color: var(--#{$prefix}card-title-color);\n  }\n\n  .card-subtitle {\n    margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y));\n    margin-bottom: 0;\n    color: var(--#{$prefix}card-subtitle-color);\n  }\n\n  .card-text:last-child {\n    margin-bottom: 0;\n  }\n\n  .card-link {\n    &:hover {\n      text-decoration: none;\n    }\n\n    + .card-link {\n      margin-inline-start: var(--#{$prefix}card-spacer-x);\n    }\n  }\n\n  //\n  // Optional textual caps\n  //\n\n  .card-header {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-block-end: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:first-child {\n      @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-block-start: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:last-child {\n      @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n    }\n  }\n\n\n  //\n  // Header navs\n  //\n\n  .card-header-tabs {\n    margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--#{$prefix}card-bg);\n      border-block-end-color: var(--#{$prefix}card-bg);\n    }\n  }\n\n  .card-header-pills {\n    margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--#{$prefix}card-img-overlay-padding);\n    @include border-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--#{$prefix}card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-variables\n$carousel-control-color:             $white !default;\n$carousel-control-width:             15% !default;\n$carousel-control-opacity:           .5 !default;\n$carousel-control-hover-opacity:     .9 !default;\n$carousel-control-transition:        opacity .15s ease !default;\n$carousel-control-icon-filter:       null !default;\n\n$carousel-indicator-width:           30px !default;\n$carousel-indicator-height:          3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer:          3px !default;\n$carousel-indicator-opacity:         .5 !default;\n$carousel-indicator-active-bg:       $white !default;\n$carousel-indicator-active-opacity:  1 !default;\n$carousel-indicator-transition:      opacity .6s ease !default;\n\n$carousel-caption-width:             70% !default;\n$carousel-caption-color:             $white !default;\n$carousel-caption-padding-y:         1.25rem !default;\n$carousel-caption-spacer:            1.25rem !default;\n\n$carousel-control-icon-width:        2rem !default;\n\n$carousel-control-prev-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\") !default;\n$carousel-control-next-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\") !default;\n\n$carousel-transition-duration:       .6s !default;\n$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-indicator-active-bg-dark:   $black !default;\n$carousel-caption-color-dark:         $black !default;\n$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition($carousel-transition);\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s $carousel-transition-duration);\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: $carousel-control-width;\n    padding: 0;\n    color: $carousel-control-color;\n    text-align: center;\n    background: none;\n    filter: var(--#{$prefix}carousel-control-icon-filter);\n    border: 0;\n    opacity: $carousel-control-opacity;\n    @include transition($carousel-control-transition);\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: $carousel-control-color;\n      text-decoration: none;\n      outline: 0;\n      opacity: $carousel-control-hover-opacity;\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: $carousel-control-icon-width;\n    height: $carousel-control-icon-width;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: $carousel-control-width;\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: $carousel-indicator-width;\n      height: $carousel-indicator-height;\n      padding: 0;\n      margin-inline: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--#{$prefix}carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: $carousel-indicator-hit-area-height solid transparent;\n      opacity: $carousel-indicator-opacity;\n      @include transition($carousel-indicator-transition);\n    }\n\n    .active {\n      opacity: $carousel-indicator-active-opacity;\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: (100% - $carousel-caption-width) * .5;\n    bottom: $carousel-caption-spacer;\n    left: (100% - $carousel-caption-width) * .5;\n    padding-top: $carousel-caption-padding-y;\n    padding-bottom: $carousel-caption-padding-y;\n    color: var(--#{$prefix}carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark};\n    --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color};\n    --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// scss-docs-start dialog-css-vars\n$dialog-padding:                1rem !default;\n$dialog-width:                  500px !default;\n$dialog-width-sm:               280px !default;\n$dialog-width-lg:               800px !default;\n$dialog-width-xl:               1140px !default;\n$dialog-margin:                 1.75rem !default;\n$dialog-color:                  var(--#{$prefix}fg-body) !default;\n$dialog-bg:                     var(--#{$prefix}bg-body) !default;\n$dialog-border-color:           var(--#{$prefix}border-color-translucent) !default;\n$dialog-border-width:           var(--#{$prefix}border-width) !default;\n$dialog-border-radius:          var(--#{$prefix}border-radius-lg) !default;\n$dialog-box-shadow:             var(--#{$prefix}box-shadow-lg) !default;\n$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;\n$dialog-header-padding:         1rem !default;\n$dialog-header-border-color:    var(--#{$prefix}border-color) !default;\n$dialog-header-border-width:    var(--#{$prefix}border-width) !default;\n$dialog-footer-padding:         1rem !default;\n$dialog-footer-border-color:    var(--#{$prefix}border-color) !default;\n$dialog-footer-border-width:    var(--#{$prefix}border-width) !default;\n$dialog-footer-gap:             .5rem !default;\n// scss-docs-end dialog-css-vars\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    --#{$prefix}dialog-padding: #{$dialog-padding};\n    --#{$prefix}dialog-width: #{$dialog-width};\n    --#{$prefix}dialog-margin: #{$dialog-margin};\n    --#{$prefix}dialog-color: #{$dialog-color};\n    --#{$prefix}dialog-bg: #{$dialog-bg};\n    --#{$prefix}dialog-border-color: #{$dialog-border-color};\n    --#{$prefix}dialog-border-width: #{$dialog-border-width};\n    --#{$prefix}dialog-border-radius: #{$dialog-border-radius};\n    --#{$prefix}dialog-box-shadow: #{$dialog-box-shadow};\n    --#{$prefix}dialog-backdrop-bg: #{$dialog-backdrop-bg};\n    --#{$prefix}dialog-header-padding: #{$dialog-header-padding};\n    --#{$prefix}dialog-header-border-color: #{$dialog-header-border-color};\n    --#{$prefix}dialog-header-border-width: #{$dialog-header-border-width};\n    --#{$prefix}dialog-footer-padding: #{$dialog-footer-padding};\n    --#{$prefix}dialog-footer-border-color: #{$dialog-footer-border-color};\n    --#{$prefix}dialog-footer-border-width: #{$dialog-footer-border-width};\n    --#{$prefix}dialog-footer-gap: #{$dialog-footer-gap};\n\n    // Reset native dialog styles\n    max-width: var(--#{$prefix}dialog-width);\n    max-height: calc(100% - var(--#{$prefix}dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--#{$prefix}dialog-color);\n    background-color: var(--#{$prefix}dialog-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);\n    @include border-radius(var(--#{$prefix}dialog-border-radius));\n    @include box-shadow(var(--#{$prefix}dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--#{$prefix}dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--#{$prefix}dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--#{$prefix}dialog-width);\n        margin-block-end: var(--#{$prefix}dialog-margin);\n        margin-inline: auto;\n        color: var(--#{$prefix}dialog-color);\n        background-color: var(--#{$prefix}dialog-bg);\n        background-clip: padding-box;\n        border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);\n        @include border-radius(var(--#{$prefix}dialog-border-radius));\n        @include box-shadow(var(--#{$prefix}dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--#{$prefix}dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  .dialog-sm { --#{$prefix}dialog-width: #{$dialog-width-sm}; }\n  .dialog-lg { --#{$prefix}dialog-width: #{$dialog-width-lg}; }\n  .dialog-xl { --#{$prefix}dialog-width: #{$dialog-width-xl}; }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --#{$prefix}dialog-width: 100vw;\n    --#{$prefix}dialog-margin: 0;\n    --#{$prefix}dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    $postfix: if($infix != \"\", #{$infix}-down, \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --#{$prefix}dialog-width: 100vw;\n          --#{$prefix}dialog-margin: 0;\n          --#{$prefix}dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--#{$prefix}dialog-header-padding);\n    border-block-end: var(--#{$prefix}dialog-header-border-width) solid var(--#{$prefix}dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--#{$prefix}font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--#{$prefix}dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--#{$prefix}dialog-footer-padding);\n    border-block-start: var(--#{$prefix}dialog-footer-border-width) solid var(--#{$prefix}dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-gap:                      $spacer * .125 !default;\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                .25rem !default;\n$dropdown-padding-y:                .25rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}fg-body) !default;\n$dropdown-bg:                       var(--#{$prefix}bg-body) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius-lg) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .125 !default;\n$dropdown-divider-margin-x:         $spacer * .25 !default;\n\n$dropdown-link-color:               var(--#{$prefix}fg-body) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}bg-1) !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      var(--#{$prefix}fg-3) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer * .75 !default;\n$dropdown-item-border-radius:       var(--#{$prefix}border-radius) !default;\n$dropdown-item-gap:                 $spacer * .5 !default;\n\n$dropdown-header-color:             var(--#{$prefix}gray-600) !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               var(--#{$prefix}gray-300) !default;\n$dropdown-dark-bg:                  var(--#{$prefix}gray-900) !default;\n$dropdown-dark-border-color:        $dropdown-border-color !default;\n$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow:          null !default;\n$dropdown-dark-link-color:          $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color:    $white !default;\n$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;\n$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: var(--#{$prefix}gray-500) !default;\n$dropdown-dark-header-color:        var(--#{$prefix}gray-500) !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropdown {\n    position: relative;\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n    --#{$prefix}dropdown-gap: #{$dropdown-gap};\n    --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n    --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n    --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n    --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n    --#{$prefix}dropdown-font-size: #{$dropdown-font-size};\n    --#{$prefix}dropdown-color: #{$dropdown-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n    --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n    --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n    --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n    --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --#{$prefix}dropdown-divider-margin-x: #{$dropdown-divider-margin-x};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --#{$prefix}dropdown-item-gap: #{$dropdown-item-gap};\n    --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --#{$prefix}dropdown-item-border-radius: #{$dropdown-item-border-radius};\n    --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n    --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--#{$prefix}dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--#{$prefix}dropdown-gap);\n    min-width: var(--#{$prefix}dropdown-min-width);\n    padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--#{$prefix}dropdown-font-size);\n    color: var(--#{$prefix}dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--#{$prefix}dropdown-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n    @include border-radius(var(--#{$prefix}dropdown-border-radius));\n    @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n    }\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--#{$prefix}dropdown-divider-margin-y) var(--#{$prefix}dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--#{$prefix}dropdown-divider-bg);\n    opacity: 1;\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: flex;\n    gap: var(--#{$prefix}dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--#{$prefix}dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--#{$prefix}dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}dropdown-link-hover-color);\n      @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--#{$prefix}dropdown-link-active-color);\n      @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      background-image: if($enable-gradients, none, null);\n    }\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--#{$prefix}dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  // Dropdown text\n  .dropdown-item-text {\n    display: block;\n    padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    color: var(--#{$prefix}fg-2);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}color-body) !default;\n$list-group-bg:                     var(--#{$prefix}bg-body) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n\n$list-group-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}color-body) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n@layer components {\n  .list-group {\n    // scss-docs-start list-group-css-vars\n    --#{$prefix}list-group-color: #{$list-group-color};\n    --#{$prefix}list-group-bg: #{$list-group-bg};\n    --#{$prefix}list-group-border-color: #{$list-group-border-color};\n    --#{$prefix}list-group-border-width: #{$list-group-border-width};\n    --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n    --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n    --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n    --#{$prefix}list-group-action-color: #{$list-group-action-color};\n    --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n    --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n    --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n    --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n    --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n    --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n    --#{$prefix}list-group-active-color: #{$list-group-active-color};\n    --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n    --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};\n    // scss-docs-end list-group-css-vars\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--#{$prefix}list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n    color: var(--#{$prefix}theme-text, var(--#{$prefix}list-group-color));\n    text-decoration: if($link-decoration == none, null, none);\n    background-color: var(--#{$prefix}theme-bg-subtle, var(--#{$prefix}list-group-bg));\n    border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}theme-border, var(--#{$prefix}list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--#{$prefix}list-group-active-color);\n      background-color: var(--#{$prefix}list-group-active-bg);\n      border-color: var(--#{$prefix}list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--#{$prefix}list-group-border-width));\n        border-block-start-width: var(--#{$prefix}list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--#{$prefix}theme-text, var(--#{$prefix}list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--#{$prefix}theme-text-emphasis, var(--#{$prefix}list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--#{$prefix}theme-bg-muted, var(--#{$prefix}list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--#{$prefix}theme-text-emphasis, var(--#{$prefix}list-group-action-active-color));\n        background-color: var(--#{$prefix}theme-bg-muted, var(--#{$prefix}list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--#{$prefix}list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--#{$prefix}list-group-border-width));\n              border-inline-start-width: var(--#{$prefix}list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--#{$prefix}list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--#{$prefix}fg-2) !default;\n$nav-link-hover-color:              var(--#{$prefix}fg-1) !default;\n$nav-link-hover-bg:                 var(--#{$prefix}bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--#{$prefix}fg-4) !default;\n$nav-link-active-color:             var(--#{$prefix}fg-body) !default;\n$nav-link-active-bg:                var(--#{$prefix}bg-2) !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}border-subtle) !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}bg-body) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --#{$prefix}nav-gap: #{$nav-gap};\n    --#{$prefix}nav-link-gap: #{$nav-link-gap};\n    --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n    --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    --#{$prefix}nav-link-color: #{$nav-link-color};\n    --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n    --#{$prefix}nav-link-hover-bg: #{$nav-link-hover-bg};\n    --#{$prefix}nav-link-active-color: #{$nav-link-active-color};\n    --#{$prefix}nav-link-active-bg: #{$nav-link-active-bg};\n    --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--#{$prefix}nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--#{$prefix}nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n    font-weight: var(--#{$prefix}nav-link-font-weight);\n    color: var(--#{$prefix}nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--#{$prefix}border-radius));\n    // @include font-size(var(--#{$prefix}nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}nav-link-hover-color);\n      background-color: var(--#{$prefix}nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}nav-link-hover-color);\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &:active {\n      color: var(--#{$prefix}nav-link-active-color);\n      background-color: var(--#{$prefix}nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n    --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n    --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width));\n      border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--#{$prefix}nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--#{$prefix}nav-tabs-link-active-color);\n      background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n      border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n      border-bottom-color: var(--#{$prefix}nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--#{$prefix}nav-pills-link-active-color);\n      @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --#{$prefix}nav-gap: #{$nav-underline-gap};\n    --#{$prefix}nav-link-active-bg: transparent;\n    // --#{$prefix}nav-underline-gap: #{$nav-underline-gap};\n    --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};\n    --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--#{$prefix}nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--#{$prefix}nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--#{$prefix}fg-2) !default;\n$navbar-light-hover-color:          var(--#{$prefix}fg-1) !default;\n$navbar-light-active-color:         var(--#{$prefix}fg) !default;\n$navbar-light-disabled-color:       var(--#{$prefix}fg-3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n    --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n    --#{$prefix}navbar-color: #{$navbar-light-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n    --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n    --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n    --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--#{$prefix}navbar-brand-padding-y);\n    padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n    margin-inline-end: var(--#{$prefix}navbar-brand-margin-end);\n    font-size: var(--#{$prefix}navbar-brand-font-size);\n    color: var(--#{$prefix}navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --#{$prefix}nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n    // --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n    --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n    --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n    --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--#{$prefix}navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--#{$prefix}navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--#{$prefix}navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n    font-size: var(--#{$prefix}navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--#{$prefix}navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n    @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus {\n      text-decoration: none;\n      outline: 0;\n      box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--#{$prefix}navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--#{$prefix}scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --#{$prefix}nav-link-padding-x: var(--#{$prefix}navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--#{$prefix}navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-light {\n    @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n  }\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --#{$prefix}navbar-color: #{$navbar-dark-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n    --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n  --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n  --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n  --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n  --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n  --#{$prefix}offcanvas-color: #{$offcanvas-color};\n  --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--#{$prefix}offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--#{$prefix}offcanvas-color);\n        visibility: hidden;\n        background-color: var(--#{$prefix}offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n        @include transition(var(--#{$prefix}offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-inline-end: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-inline-start: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --#{$prefix}offcanvas-height: auto;\n          --#{$prefix}offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--#{$prefix}offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start pagination-variables\n$pagination-padding-y:              .375rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n\n$pagination-font-size:              $font-size-base !default;\n\n$pagination-color:                  var(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}bg-body) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color:           $component-active-color !default;\n$pagination-active-bg:              $component-active-bg !default;\n$pagination-active-border-color:    $component-active-bg !default;\n\n$pagination-disabled-color:         var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}border-color) !default;\n\n$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm:       var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --#{$prefix}pagination-padding-x: #{$padding-x};\n  --#{$prefix}pagination-padding-y: #{$padding-y};\n  --#{$prefix}pagination-font-size: #{$font-size};\n  --#{$prefix}pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    // scss-docs-start pagination-css-vars\n    --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n    --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n    --#{$prefix}pagination-font-size: #{$pagination-font-size};\n    --#{$prefix}pagination-color: #{$pagination-color};\n    --#{$prefix}pagination-bg: #{$pagination-bg};\n    --#{$prefix}pagination-border-width: #{$pagination-border-width};\n    --#{$prefix}pagination-border-color: #{$pagination-border-color};\n    --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n    --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n    --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n    --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n    --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n    --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n    --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n    --#{$prefix}pagination-active-color: #{$pagination-active-color};\n    --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n    --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n    --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n    --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n    --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};\n    // scss-docs-end pagination-css-vars\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n    font-size: var(--#{$prefix}pagination-font-size);\n    color: var(--#{$prefix}pagination-color);\n    text-decoration: none;\n    background-color: var(--#{$prefix}pagination-bg);\n    border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--#{$prefix}pagination-hover-color);\n      background-color: var(--#{$prefix}pagination-hover-bg);\n      border-color: var(--#{$prefix}pagination-hover-border-color);\n    }\n\n    &:focus {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-focus-color);\n      background-color: var(--#{$prefix}pagination-focus-bg);\n      outline: $pagination-focus-outline;\n      box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-active-color);\n      @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n      border-color: var(--#{$prefix}pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--#{$prefix}pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}pagination-disabled-bg);\n      border-color: var(--#{$prefix}pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: $pagination-margin-start;\n    }\n\n    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {\n      &:first-child {\n        .page-link {\n          @include border-start-radius(var(--#{$prefix}pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--#{$prefix}pagination-border-radius));\n        }\n      }\n    } @else {\n      // Add border-radius to all pageLinks in case they have left margin\n      .page-link {\n        @include border-radius(var(--#{$prefix}pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n  }\n\n  .pagination-sm {\n    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholders\n$placeholder-opacity-max:           .5 !default;\n$placeholder-opacity-min:           .2 !default;\n// scss-docs-end placeholders\n\n\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: $placeholder-opacity-max;\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: $placeholder-opacity-min;\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 var(--#{$prefix}font-size-sm) !default;\n$popover-bg:                        var(--#{$prefix}bg-body) !default;\n$popover-max-width:                 280px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}bg-1) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          $spacer * .75 !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}color-body) !default;\n$popover-body-padding-y:            $spacer * .75 !default;\n$popover-body-padding-x:            $spacer !default;\n\n$popover-arrow-width:               1rem !default;\n$popover-arrow-height:              .5rem !default;\n// scss-docs-end popover-variables\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    --#{$prefix}popover-zindex: #{$zindex-popover};\n    --#{$prefix}popover-max-width: #{$popover-max-width};\n    --#{$prefix}popover-font-size: #{$popover-font-size};\n    --#{$prefix}popover-bg: #{$popover-bg};\n    --#{$prefix}popover-border-width: #{$popover-border-width};\n    --#{$prefix}popover-border-color: #{$popover-border-color};\n    --#{$prefix}popover-border-radius: #{$popover-border-radius};\n    --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n    --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n    --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n    --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n    --#{$prefix}popover-header-font-size: #{$popover-header-font-size};\n    --#{$prefix}popover-header-color: #{$popover-header-color};\n    --#{$prefix}popover-header-bg: #{$popover-header-bg};\n    --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n    --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n    --#{$prefix}popover-body-color: #{$popover-body-color};\n    --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n    --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n    --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--#{$prefix}popover-zindex);\n    display: block;\n    max-width: var(--#{$prefix}popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--#{$prefix}popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--#{$prefix}popover-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-radius(var(--#{$prefix}popover-border-radius));\n    @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--#{$prefix}popover-arrow-width);\n      height: var(--#{$prefix}popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--#{$prefix}popover-border-width);\n        border-block-start-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--#{$prefix}popover-border-width);\n        border-inline-end-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--#{$prefix}popover-border-width);\n        border-block-end-color: var(--#{$prefix}popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--#{$prefix}popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--#{$prefix}popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--#{$prefix}popover-border-width);\n        border-inline-start-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--#{$prefix}popover-header-font-size);\n    color: var(--#{$prefix}popover-header-color);\n    background-color: var(--#{$prefix}popover-header-bg);\n    border-block-end: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n    color: var(--#{$prefix}popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-variables\n$progress-height:                   1rem !default;\n$progress-font-size:                $font-size-base * .75 !default;\n$progress-bg:                       var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   var(--#{$prefix}primary-bg) !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--#{$prefix}progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --#{$prefix}progress-height: #{$progress-height};\n    --#{$prefix}progress-font-size: #{$progress-font-size};\n    --#{$prefix}progress-bg: #{$progress-bg};\n    --#{$prefix}progress-border-radius: #{$progress-border-radius};\n    --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n    --#{$prefix}progress-bar-color: #{$progress-bar-color};\n    --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n    --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--#{$prefix}progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    font-size: var(--#{$prefix}progress-font-size);\n    background-color: var(--#{$prefix}progress-bg);\n    @include border-radius(var(--#{$prefix}progress-border-radius));\n    @include box-shadow(var(--#{$prefix}progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--#{$prefix}progress-bar-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--#{$prefix}progress-bar-bg);\n    @include transition(var(--#{$prefix}progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: $progress-bar-animation-timing progress-bar-stripes;\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start spinner-variables\n$spinner-width:           2rem !default;\n$spinner-height:          $spinner-width !default;\n$spinner-vertical-align:  -.125em !default;\n$spinner-border-width:    .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm:        1rem !default;\n$spinner-height-sm:       $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n//\n// Rotating border\n//\n\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--#{$prefix}spinner-width);\n    height: var(--#{$prefix}spinner-height);\n    vertical-align: var(--#{$prefix}spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-border-width: #{$spinner-border-width};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}spinner-height: #{$spinner-height-sm};\n    --#{$prefix}spinner-border-width: #{$spinner-border-width-sm};\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    // scss-docs-start spinner-grow-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}spinner-animation-name: spinner-grow;\n    // scss-docs-end spinner-grow-css-vars\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}spinner-height: #{$spinner-height-sm};\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-variables\n$toast-max-width:                   350px !default;\n$toast-padding-x:                   .75rem !default;\n$toast-padding-y:                   .5rem !default;\n$toast-font-size:                   .875rem !default;\n$toast-color:                       null !default;\n$toast-background-color:            rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n@layer components {\n  .toast {\n    // scss-docs-start toast-css-vars\n    --#{$prefix}toast-zindex: #{$zindex-toast};\n    --#{$prefix}toast-padding-x: #{$toast-padding-x};\n    --#{$prefix}toast-padding-y: #{$toast-padding-y};\n    --#{$prefix}toast-spacing: #{$toast-spacing};\n    --#{$prefix}toast-max-width: #{$toast-max-width};\n    --#{$prefix}toast-font-size: #{$toast-font-size};\n    --#{$prefix}toast-color: #{$toast-color};\n    --#{$prefix}toast-bg: #{$toast-background-color};\n    --#{$prefix}toast-border-width: #{$toast-border-width};\n    --#{$prefix}toast-border-color: #{$toast-border-color};\n    --#{$prefix}toast-border-radius: #{$toast-border-radius};\n    --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n    --#{$prefix}toast-header-color: #{$toast-header-color};\n    --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n    --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--#{$prefix}toast-max-width);\n    max-width: 100%;\n    font-size: var(--#{$prefix}toast-font-size);\n    color: var(--#{$prefix}toast-color);\n    pointer-events: auto;\n    background-color: var(--#{$prefix}toast-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n    box-shadow: var(--#{$prefix}toast-box-shadow);\n    @include border-radius(var(--#{$prefix}toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --#{$prefix}toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--#{$prefix}toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--#{$prefix}toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n    color: var(--#{$prefix}toast-header-color);\n    background-color: var(--#{$prefix}toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n    @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--#{$prefix}toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--#{$prefix}toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--#{$prefix}toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $new-theme-colors {\n    .text-bg-#{$color} {\n      color: var(--#{$prefix}#{$color}-text);\n      --#{$prefix}bg: var(--#{$prefix}#{$color}-bg-subtle);\n      // color: color-contrast($value);\n      // background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1));\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n\n@layer helpers {\n  @each $color, $value in $new-theme-colors {\n    .link-#{$color} {\n      --#{$prefix}link-color: var(--#{$prefix}#{$color}-text);\n      // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          --#{$prefix}link-color: var(--#{$prefix}#{$color}-text-emphasis);\n          --#{$prefix}link-hover-color: var(--#{$prefix}#{$color}-text-emphasis);\n          // $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          // color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          // text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}-text), transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--#{$prefix}bg\": null,\n//     \"background-color\": var(--#{$prefix}bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--#{$prefix}blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: if(map.has-key($utility, selector), map.get($utility, selector), \"class\");\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), \"\");\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      $customClass: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n      $customClass: if($customClass == null, \"\", $customClass);\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: if($key, if($customClass == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$prefix}#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$prefix}#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$prefix}#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$prefix}#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","dist/css/bootstrap.css","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  --white-rgb: #{to-rgb($white)};\n  --black-rgb: #{to-rgb($black)};\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --body-color-rgb: #{to-rgb($body-color)};\n  --body-bg-rgb: #{to-rgb($body-bg)};\n  // scss-docs-end root-body-variables\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --emphasis-color: #{$body-emphasis-color-dark};\n    --emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n    --border-color-translucent: #{$border-color-translucent-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --bs-blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --bs-blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --bs-blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --bs-blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --bs-blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --bs-blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --bs-blue-500: oklch(60% 0.24 240deg);\n  --bs-blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --bs-blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --bs-blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --bs-blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --bs-blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --bs-blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --bs-indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --bs-indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --bs-indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --bs-indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --bs-indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --bs-indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --bs-indigo-500: oklch(56% 0.26 288deg);\n  --bs-indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --bs-indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --bs-indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --bs-indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --bs-indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --bs-indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --bs-violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --bs-violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --bs-violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --bs-violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --bs-violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --bs-violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --bs-violet-500: oklch(56% 0.24 300deg);\n  --bs-violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --bs-violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --bs-violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --bs-violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --bs-violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --bs-violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --bs-purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --bs-purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --bs-purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --bs-purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --bs-purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --bs-purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --bs-purple-500: oklch(56% 0.24 320deg);\n  --bs-purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --bs-purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --bs-purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --bs-purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --bs-purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --bs-purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --bs-pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --bs-pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --bs-pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --bs-pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --bs-pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --bs-pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --bs-pink-500: oklch(60% 0.22 4deg);\n  --bs-pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --bs-pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --bs-pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --bs-pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --bs-pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --bs-pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --bs-red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --bs-red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --bs-red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --bs-red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --bs-red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --bs-red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --bs-red-500: oklch(60% 0.22 20deg);\n  --bs-red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --bs-red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --bs-red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --bs-red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --bs-red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --bs-red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --bs-orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --bs-orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --bs-orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --bs-orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --bs-orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --bs-orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --bs-orange-500: oklch(70% 0.22 52deg);\n  --bs-orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --bs-orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --bs-orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --bs-orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --bs-orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --bs-orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --bs-amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --bs-amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --bs-amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --bs-amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --bs-amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --bs-amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --bs-amber-500: oklch(79% 0.2 78deg);\n  --bs-amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --bs-amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --bs-amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --bs-amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --bs-amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --bs-amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --bs-yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --bs-yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --bs-yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --bs-yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --bs-yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --bs-yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --bs-yellow-500: oklch(88% 0.24 88deg);\n  --bs-yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --bs-yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --bs-yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --bs-yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --bs-yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --bs-yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --bs-lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --bs-lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --bs-lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --bs-lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --bs-lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --bs-lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --bs-lime-500: oklch(65% 0.24 135deg);\n  --bs-lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --bs-lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --bs-lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --bs-lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --bs-lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --bs-lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --bs-green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --bs-green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --bs-green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --bs-green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --bs-green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --bs-green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --bs-green-500: oklch(64% 0.22 160deg);\n  --bs-green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --bs-green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --bs-green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --bs-green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --bs-green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --bs-green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --bs-teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --bs-teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --bs-teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --bs-teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --bs-teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --bs-teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --bs-teal-500: oklch(68% 0.22 190deg);\n  --bs-teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --bs-teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --bs-teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --bs-teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --bs-teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --bs-teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --bs-cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --bs-cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --bs-cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --bs-cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --bs-cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --bs-cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --bs-cyan-500: oklch(69% 0.22 220deg);\n  --bs-cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --bs-cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --bs-cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --bs-cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --bs-cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --bs-cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --bs-brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --bs-brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --bs-brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --bs-brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --bs-brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --bs-brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --bs-brown-500: oklch(60% 0.12 54deg);\n  --bs-brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --bs-brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --bs-brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --bs-brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --bs-brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --bs-brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --bs-gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --bs-gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --bs-gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --bs-gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --bs-gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --bs-gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --bs-gray-500: oklch(60% 0.02 245deg);\n  --bs-gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --bs-gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --bs-gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --bs-gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --bs-gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --bs-gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --bs-pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --bs-pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --bs-pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --bs-pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --bs-pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --bs-pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --bs-pewter-500: oklch(65% 0.01 290deg);\n  --bs-pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --bs-pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --bs-pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --bs-pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --bs-pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --bs-theme-base: var(--bs-primary-base);\n  --bs-theme-text: var(--bs-primary-text);\n  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);\n  --bs-theme-bg: var(--bs-primary-bg);\n  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-primary-bg-muted);\n  --bs-theme-border: var(--bs-primary-border);\n  --bs-theme-focus-ring: var(--bs-primary-focus-ring);\n  --bs-theme-contrast: var(--bs-primary-contrast);\n}\n\n.theme-accent {\n  --bs-theme-base: var(--bs-accent-base);\n  --bs-theme-text: var(--bs-accent-text);\n  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);\n  --bs-theme-bg: var(--bs-accent-bg);\n  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-accent-bg-muted);\n  --bs-theme-border: var(--bs-accent-border);\n  --bs-theme-focus-ring: var(--bs-accent-focus-ring);\n  --bs-theme-contrast: var(--bs-accent-contrast);\n}\n\n.theme-success {\n  --bs-theme-base: var(--bs-success-base);\n  --bs-theme-text: var(--bs-success-text);\n  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);\n  --bs-theme-bg: var(--bs-success-bg);\n  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-success-bg-muted);\n  --bs-theme-border: var(--bs-success-border);\n  --bs-theme-focus-ring: var(--bs-success-focus-ring);\n  --bs-theme-contrast: var(--bs-success-contrast);\n}\n\n.theme-danger {\n  --bs-theme-base: var(--bs-danger-base);\n  --bs-theme-text: var(--bs-danger-text);\n  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);\n  --bs-theme-bg: var(--bs-danger-bg);\n  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-danger-bg-muted);\n  --bs-theme-border: var(--bs-danger-border);\n  --bs-theme-focus-ring: var(--bs-danger-focus-ring);\n  --bs-theme-contrast: var(--bs-danger-contrast);\n}\n\n.theme-warning {\n  --bs-theme-base: var(--bs-warning-base);\n  --bs-theme-text: var(--bs-warning-text);\n  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);\n  --bs-theme-bg: var(--bs-warning-bg);\n  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-warning-bg-muted);\n  --bs-theme-border: var(--bs-warning-border);\n  --bs-theme-focus-ring: var(--bs-warning-focus-ring);\n  --bs-theme-contrast: var(--bs-warning-contrast);\n}\n\n.theme-info {\n  --bs-theme-base: var(--bs-info-base);\n  --bs-theme-text: var(--bs-info-text);\n  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);\n  --bs-theme-bg: var(--bs-info-bg);\n  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-info-bg-muted);\n  --bs-theme-border: var(--bs-info-border);\n  --bs-theme-focus-ring: var(--bs-info-focus-ring);\n  --bs-theme-contrast: var(--bs-info-contrast);\n}\n\n.theme-inverse {\n  --bs-theme-base: var(--bs-inverse-base);\n  --bs-theme-text: var(--bs-inverse-text);\n  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);\n  --bs-theme-bg: var(--bs-inverse-bg);\n  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);\n  --bs-theme-border: var(--bs-inverse-border);\n  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);\n  --bs-theme-contrast: var(--bs-inverse-contrast);\n}\n\n.theme-secondary {\n  --bs-theme-base: var(--bs-secondary-base);\n  --bs-theme-text: var(--bs-secondary-text);\n  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);\n  --bs-theme-bg: var(--bs-secondary-bg);\n  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);\n  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);\n  --bs-theme-border: var(--bs-secondary-border);\n  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);\n  --bs-theme-contrast: var(--bs-secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-primary-base: var(--bs-blue-500);\n  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n  --bs-primary-bg: var(--bs-blue-500);\n  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n  --bs-primary-focus-ring: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  --bs-primary-contrast: var(--bs-white);\n  --bs-accent-base: var(--bs-indigo-500);\n  --bs-accent-text: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  --bs-accent-text-emphasis: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n  --bs-accent-bg: var(--bs-indigo-500);\n  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n  --bs-accent-focus-ring: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  --bs-accent-contrast: var(--bs-white);\n  --bs-success-base: var(--bs-green-500);\n  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-400));\n  --bs-success-text-emphasis: light-dark(var(--bs-green-800), var(--bs-green-300));\n  --bs-success-bg: var(--bs-green-500);\n  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));\n  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));\n  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));\n  --bs-success-focus-ring: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  --bs-success-contrast: var(--bs-white);\n  --bs-danger-base: var(--bs-red-500);\n  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-400));\n  --bs-danger-text-emphasis: light-dark(var(--bs-red-800), var(--bs-red-300));\n  --bs-danger-bg: var(--bs-red-500);\n  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));\n  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));\n  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));\n  --bs-danger-focus-ring: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  --bs-danger-contrast: var(--bs-white);\n  --bs-warning-base: var(--bs-yellow-500);\n  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  --bs-warning-text-emphasis: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n  --bs-warning-bg: var(--bs-yellow-500);\n  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n  --bs-warning-focus-ring: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  --bs-warning-contrast: var(--bs-gray-900);\n  --bs-info-base: var(--bs-cyan-500);\n  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  --bs-info-text-emphasis: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n  --bs-info-bg: var(--bs-cyan-500);\n  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n  --bs-info-focus-ring: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  --bs-info-contrast: var(--bs-gray-900);\n  --bs-inverse-base: var(--bs-gray-900);\n  --bs-inverse-text: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  --bs-inverse-text-emphasis: light-dark(var(--bs-gray-975), var(--bs-white));\n  --bs-inverse-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n  --bs-inverse-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-inverse-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n  --bs-inverse-border: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n  --bs-inverse-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  --bs-inverse-contrast: light-dark(var(--bs-white), var(--bs-gray-900));\n  --bs-secondary-base: var(--bs-gray-200);\n  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  --bs-secondary-text-emphasis: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-secondary-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n  --bs-secondary-bg-muted: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n  --bs-secondary-focus-ring: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));\n  --bs-bg-body: light-dark(var(--bs-white), var(--bs-gray-975));\n  --bs-bg-1: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n  --bs-bg-2: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n  --bs-bg-3: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n  --bs-bg-4: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n  --bs-bg-white: var(--bs-white);\n  --bs-bg-black: var(--bs-black);\n  --bs-bg-transparent: transparent;\n  --bs-bg-inherit: inherit;\n  --bs-fg-body: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n  --bs-fg-4: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n  --bs-fg-white: var(--bs-white);\n  --bs-fg-black: var(--bs-black);\n  --bs-fg-inherit: inherit;\n  --bs-border-bg: var(--bs-bg-body);\n  --bs-border-body: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n  --bs-border-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n  --bs-border-white: var(--bs-white);\n  --bs-border-black: var(--bs-black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --bs-white-rgb: to-rgb(#fff);\n  --bs-black-rgb: to-rgb(#000);\n  --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-font-size-base: 14px;\n  --bs-font-size-xs: .75rem;\n  --bs-font-size-sm: .875rem;\n  --bs-font-size-md: 1rem;\n  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --bs-line-height-xs: 1.5;\n  --bs-line-height-sm: 1.5;\n  --bs-line-height-md: 1.5;\n  --bs-line-height-lg: 1.5;\n  --bs-line-height-xl: calc(2.5 / 1.75);\n  --bs-line-height-2xl: calc(3 / 2.25);\n  --bs-line-height-3xl: 1.2;\n  --bs-line-height-4xl: 1.1;\n  --bs-line-height-5xl: 1.1;\n  --bs-line-height-6xl: 1;\n  --bs-body-font-size: 14px;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color-rgb: to-rgb(var(--bs-color-body));\n  --bs-body-bg-rgb: to-rgb(var(--bs-bg-body));\n  --bs-heading-color: inherit;\n  --bs-hr-border-color: var(--bs-border-color);\n  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);\n  --bs-code-color: var(--bs-secondary-text);\n  --bs-highlight-color: var(--bs-color-body);\n  --bs-highlight-bg: var(--bs-yellow-100);\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.5rem;\n  --bs-border-radius-sm: 0.375rem;\n  --bs-border-radius-lg: 0.75rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-2xl: 2rem;\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 3px;\n  --bs-focus-ring-offset: 1px;\n  --bs-focus-ring-color: var(--bs-primary-focus-ring);\n  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);\n  --bs-form-valid-color: var(--bs-success);\n  --bs-form-valid-border-color: var(--bs-success);\n  --bs-form-invalid-color: var(--bs-danger);\n  --bs-form-invalid-border-color: var(--bs-danger);\n  color-scheme: light;\n  --bs-root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: to-rgb(#fff);\n  --bs-heading-color: inherit;\n  --bs-border-color: var(--bs-gray-700);\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: var(--bs-green-300);\n  --bs-form-valid-border-color: var(--bs-green-300);\n  --bs-form-invalid-color: var(--bs-red-300);\n  --bs-form-invalid-border-color: var(--bs-red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--bs-root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--bs-body-font-family);\n    font-size: var(--bs-body-font-size);\n    font-weight: var(--bs-body-font-weight);\n    line-height: var(--bs-body-line-height);\n    color: var(--bs-color-body);\n    text-align: var(--bs-body-text-align);\n    background-color: var(--bs-bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--bs-heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--bs-font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--bs-font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--bs-font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--bs-font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--bs-font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--bs-font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\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  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--bs-highlight-color);\n    background-color: var(--bs-highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--bs-theme-text, var(--bs-link-color));\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--bs-theme-text-emphasis, var(--bs-link-hover-color));\n    -webkit-text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n    text-decoration: var(--bs-link-hover-decoration, var(--bs-link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--bs-font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--bs-code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bs-bg-body);\n    background-color: var(--bs-fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--bs-secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-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  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--bs-gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --bs-table-color-type: initial;\n    --bs-table-bg-type: initial;\n    --bs-table-color-state: initial;\n    --bs-table-bg-state: initial;\n    --bs-table-color: var(--bs-color-body);\n    --bs-table-bg: var(--bs-bg-body);\n    --bs-table-border-color: var(--bs-border-color);\n    --bs-table-accent-bg: transparent;\n    --bs-table-striped-color: var(--bs-color-body);\n    --bs-table-striped-bg: color-mix(in srgb, var(--bs-table-color) 5%, transparent);\n    --bs-table-active-color: var(--bs-color-body);\n    --bs-table-active-bg: color-mix(in srgb, var(--bs-table-color) 10%, transparent);\n    --bs-table-hover-color: var(--bs-color-body);\n    --bs-table-hover-bg: color-mix(in srgb, var(--bs-table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--bs-theme-border, var(--bs-table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-theme-text, var(--bs-table-color))));\n    background-color: var(--bs-theme-bg-subtle, var(--bs-table-bg));\n    border-block-end-width: var(--bs-border-width);\n    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-theme-bg-subtle, var(--bs-table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--bs-border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--bs-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--bs-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --bs-table-color-type: var(--bs-theme-text, var(--bs-table-striped-color));\n    --bs-table-bg-type: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 5%, transparent);\n  }\n  .table-active {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-active-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --bs-table-color-state: var(--bs-theme-text, var(--bs-table-hover-color));\n    --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bs-bg-body);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n    box-shadow: var(--bs-box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --bs-content-font-size: var(--bs-font-size-sm);\n    --bs-content-gap: 20px;\n    --bs-heading-color: light-dark(var(--bs-gray-900), var(--bs-white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--bs-content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--bs-content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --bs-content-font-size: var(--bs-font-size-md);\n      --bs-content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--bs-content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--bs-content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--bs-content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--bs-border-width) solid var(--bs-hr-border-color);\n  }\n  .prose h1:not([class]),\n  .prose h2:not([class]),\n  .prose h3:not([class]),\n  .prose h4:not([class]),\n  .prose h5:not([class]),\n  .prose h6:not([class]) {\n    margin-top: 0;\n    margin-bottom: calc(var(--bs-content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1:not([class]) code,\n  .prose h2:not([class]) code,\n  .prose h3:not([class]) code,\n  .prose h4:not([class]) code,\n  .prose h5:not([class]) code,\n  .prose h6:not([class]) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--bs-content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--bs-link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--bs-link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--bs-link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--bs-content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--bs-border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--bs-border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 1024px;\n  --bs-breakpoint-xl: 1280px;\n  --bs-breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --bs-gutter-x: 1.5rem;\n    --bs-gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--bs-gutter-x));\n    margin-top: calc(-1 * var(--bs-gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--bs-gutter-x) * 0.5);\n    margin-top: var(--bs-gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --bs-gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --bs-gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --bs-gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --bs-gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --bs-gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --bs-gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --bs-gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --bs-gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --bs-gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --bs-gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --bs-gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --bs-gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --bs-gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --bs-columns: 12;\n    --bs-rows: 1;\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--bs-rows), 1fr);\n    grid-template-columns: repeat(var(--bs-columns), 1fr);\n    gap: var(--bs-gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --bs-gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--bs-gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--bs-border-width));\n    padding-bottom: add(0.375rem, var(--bs-border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--bs-border-width));\n    padding-bottom: add(0.5rem, var(--bs-border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--bs-border-width));\n    padding-bottom: add(0.25rem, var(--bs-border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --bs-control-min-height: 2.5rem;\n    --bs-control-padding-y: 0.375rem;\n    --bs-control-padding-x: 0.75rem;\n    --bs-control-font-size: 14px;\n    --bs-control-line-height: 1.5;\n    --bs-control-color: var(--bs-color-body);\n    --bs-control-bg: var(--bs-bg-body);\n    --bs-control-border-width: var(--bs-border-width);\n    --bs-control-border-color: var(--bs-border-color);\n    --bs-control-border-radius: var(--bs-border-radius);\n    --bs-control-select-bg-color: var(--bs-gray-600);\n    --bs-control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --bs-control-select-bg-position: right 0.75rem center;\n    --bs-control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    font-size: var(--bs-control-font-size);\n    line-height: var(--bs-control-line-height);\n    color: var(--bs-control-color);\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-control-bg);\n    background-clip: padding-box;\n    border: var(--bs-control-border-width) solid var(--bs-control-border-color);\n    border-radius: var(--bs-control-border-radius);\n    box-shadow: var(--bs-box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    --bs-focus-ring-offset: -1px;\n    color: var(--bs-color-body);\n    background-color: var(--bs-bg-body);\n    border-color: var(--bs-primary-border);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--bs-secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--bs-secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    margin: calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);\n    margin-inline-end: var(--bs-control-padding-x);\n    color: var(--bs-color-body);\n    background-color: var(--bs-tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--bs-control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--bs-control-padding-x) * 3);\n    background-image: var(--bs-control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--bs-control-select-bg-position);\n    background-size: var(--bs-control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--bs-control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --bs-control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --bs-control-min-height: 2rem;\n    --bs-control-padding-y: 0.25rem;\n    --bs-control-padding-x: 0.5rem;\n    --bs-control-font-size: 12.25px;\n    --bs-control-line-height: 1.25;\n    --bs-control-border-radius: var(--bs-border-radius-sm);\n  }\n  .form-control-lg {\n    --bs-control-min-height: 3rem;\n    --bs-control-padding-y: 0.5rem;\n    --bs-control-padding-x: 1rem;\n    --bs-control-font-size: 17.5px;\n    --bs-control-line-height: 2;\n    --bs-control-border-radius: var(--bs-border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--bs-border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    -webkit-appearance: none;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--bs-fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--bs-fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .check {\n    --bs-check-bg: transparent;\n    --bs-check-border-color: var(--bs-border-color);\n    --bs-check-checked-bg: var(--bs-primary-base);\n    --bs-check-checked-border-color: var(--bs-primary-base);\n    --bs-check-indeterminate-bg: var(--bs-primary-base);\n    --bs-check-indeterminate-border-color: var(--bs-primary-base);\n    --bs-check-disabled-bg: var(--bs-bg-3);\n    --bs-check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-check-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--bs-theme-bg, var(--bs-check-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--bs-primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --bs-check-bg: var(--bs-check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--bs-check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--bs-gap, 0.5rem);\n    align-items: var(--bs-align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--bs-secondary-text);\n  }\n  .radio {\n    --bs-radio-bg: transparent;\n    --bs-radio-border-color: var(--bs-border-color);\n    --bs-radio-checked-bg: var(--bs-primary-base);\n    --bs-radio-checked-border-color: var(--bs-primary-base);\n    --bs-radio-disabled-bg: var(--bs-bg-3);\n    --bs-radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-theme-bg, var(--bs-radio-bg));\n    border: 1px solid var(--bs-theme-bg, var(--bs-radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--bs-theme-contrast, var(--bs-primary-contrast));\n    background-color: var(--bs-theme-bg, var(--bs-radio-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --bs-radio-bg: var(--bs-radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n}\n@layer forms {\n  .switch {\n    --bs-switch-height: 1.25rem;\n    --bs-switch-width: calc(var(--bs-switch-height) * 1.5);\n    --bs-switch-padding: .0625rem;\n    --bs-switch-bg: var(--bs-secondary-bg);\n    --bs-switch-border-width: var(--bs-border-width);\n    --bs-switch-border-color: var(--bs-border-color);\n    --bs-switch-indicator-bg: var(--bs-white);\n    --bs-switch-checked-bg: var(--bs-primary-base);\n    --bs-switch-checked-border-color: var(--bs-switch-checked-bg);\n    --bs-switch-checked-indicator-bg: var(--bs-white);\n    --bs-switch-disabled-bg: var(--bs-secondary-bg);\n    --bs-switch-disabled-indicator-bg: var(--bs-secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--bs-switch-width);\n    height: var(--bs-switch-height);\n    padding: var(--bs-switch-padding);\n    background-color: var(--bs-switch-bg);\n    border: var(--bs-switch-border-width) solid var(--bs-switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    height: calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--bs-switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding));\n    background-color: var(--bs-theme-bg, var(--bs-switch-checked-bg));\n    border-color: var(--bs-theme-bg, var(--bs-switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --bs-switch-bg: var(--bs-switch-disabled-bg);\n    --bs-switch-indicator-bg: var(--bs-switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--bs-secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --bs-switch-height: 1em;\n  }\n  .switch-lg {\n    --bs-switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(1rem + var(--bs-focus-ring-width) * 2);\n    padding: 0;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    -webkit-appearance: none;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\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  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      -webkit-transition: none;\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--bs-primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\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  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      -moz-transition: none;\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--bs-primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--bs-secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--bs-secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: rgba(var(--bs-body-color-rgb), 0.65);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--bs-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bs-bg-body);\n    border-radius: var(--bs-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--bs-secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--bs-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--bs-gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--bs-color-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-tertiary-bg);\n    border: var(--bs-border-width) solid var(--bs-border-color);\n    border-radius: var(--bs-border-radius);\n  }\n  .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: 17.5px;\n    border-radius: var(--bs-border-radius-lg);\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: 12.25px;\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --bs-strength-height: 0.375rem;\n    --bs-strength-gap: 0.25rem;\n    --bs-strength-bg: var(--bs-bg-2);\n    --bs-strength-border-radius: var(--bs-border-radius-pill);\n    --bs-strength-color: var(--bs-bg-2);\n    display: flex;\n    gap: var(--bs-strength-gap);\n    width: 100%;\n    margin-top: 0.25rem;\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--bs-strength-height);\n    background-color: var(--bs-strength-bg);\n    border-radius: var(--bs-strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--bs-strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --bs-strength-color: var(--bs-danger-bg);\n  }\n  .strength[data-bs-strength=fair] {\n    --bs-strength-color: var(--bs-warning-bg);\n  }\n  .strength[data-bs-strength=good] {\n    --bs-strength-color: var(--bs-info-bg);\n  }\n  .strength[data-bs-strength=strong] {\n    --bs-strength-color: var(--bs-success-bg);\n  }\n  .strength-text {\n    display: block;\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--bs-strength-color, var(--bs-secondary-color));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --bs-strength-height: 0.375rem;\n    --bs-strength-bg: var(--bs-bg-2);\n    --bs-strength-border-radius: var(--bs-border-radius-pill);\n    --bs-strength-color: transparent;\n    --bs-strength-width: 0%;\n    width: 100%;\n    height: var(--bs-strength-height);\n    margin-top: 0.25rem;\n    overflow: hidden;\n    background-color: var(--bs-strength-bg);\n    border-radius: var(--bs-strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--bs-strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--bs-strength-color);\n    border-radius: var(--bs-strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --bs-strength-color: var(--bs-danger-bg);\n    --bs-strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --bs-strength-color: var(--bs-warning-bg);\n    --bs-strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --bs-strength-color: var(--bs-info-bg);\n    --bs-strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --bs-strength-color: var(--bs-success-bg);\n    --bs-strength-width: 100%;\n  }\n}\n@layer forms {\n  .otp {\n    --bs-otp-size: 3rem;\n    --bs-otp-font-size: 17.5px;\n    --bs-otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--bs-otp-gap);\n  }\n  .otp .form-control {\n    width: var(--bs-otp-size);\n    min-height: var(--bs-otp-size);\n    padding: 0;\n    font-size: var(--bs-otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    -webkit-appearance: none;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    -webkit-appearance: textfield;\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--bs-form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --bs-focus-ring-color: rgba(var(--bs-success-rgb), .25);\n    border-color: var(--bs-form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--bs-form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --bs-focus-ring-color: rgba(var(--bs-danger-rgb), .25);\n    border-color: var(--bs-form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--bs-otp-gap);\n    font-size: var(--bs-otp-font-size);\n    color: var(--bs-fg-4);\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .otp-sm {\n    --bs-otp-size: 2.25rem;\n    --bs-otp-font-size: 14px;\n  }\n  .otp-lg {\n    --bs-otp-size: 3.5rem;\n    --bs-otp-font-size: 21.875px;\n  }\n}\n@layer forms {\n  .form-adorn {\n    --bs-control-min-height: 2.5rem;\n    --bs-control-padding-y: 0.375rem;\n    --bs-control-padding-x: 0.75rem;\n    --bs-control-font-size: 14px;\n    --bs-control-line-height: 1.5;\n    --bs-control-color: var(--bs-color-body);\n    --bs-control-bg: var(--bs-bg-body);\n    --bs-control-border-width: var(--bs-border-width);\n    --bs-control-border-color: var(--bs-border-color);\n    --bs-control-border-radius: var(--bs-border-radius);\n    --bs-form-adorn-gap: 0.375rem;\n    --bs-form-adorn-icon-size: 1rem;\n    --bs-form-adorn-icon-color: var(--bs-fg-2);\n    display: flex;\n    gap: var(--bs-form-adorn-gap);\n    align-items: center;\n    min-height: var(--bs-control-min-height);\n    padding: var(--bs-control-padding-y) var(--bs-control-padding-x);\n    font-size: var(--bs-control-font-size);\n    line-height: var(--bs-control-line-height);\n    color: var(--bs-control-color);\n    background-color: var(--bs-control-bg);\n    background-clip: padding-box;\n    border: var(--bs-control-border-width) solid var(--bs-control-border-color);\n    border-radius: var(--bs-control-border-radius);\n    box-shadow: var(--bs-box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-adorn {\n      transition: none;\n    }\n  }\n  .form-adorn:focus-within {\n    --bs-focus-ring-offset: -1px;\n    border-color: var(--bs-primary-border);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--bs-form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--bs-form-adorn-icon-size);\n    height: var(--bs-form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--bs-form-adorn-icon-color);\n    pointer-events: none;\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .form-adorn-sm {\n    --bs-control-min-height: 2rem;\n    --bs-control-padding-y: 0.25rem;\n    --bs-control-padding-x: 0.5rem;\n    --bs-control-font-size: 12.25px;\n    --bs-control-line-height: 1.25;\n    --bs-control-border-radius: var(--bs-border-radius-sm);\n  }\n  .form-adorn-lg {\n    --bs-control-min-height: 3rem;\n    --bs-control-padding-y: 0.5rem;\n    --bs-control-padding-x: 1rem;\n    --bs-control-font-size: 17.5px;\n    --bs-control-line-height: 2;\n    --bs-control-border-radius: var(--bs-border-radius-lg);\n  }\n}\n@layer components {\n  .tooltip {\n    --bs-tooltip-zindex: 1080;\n    --bs-tooltip-max-width: 200px;\n    --bs-tooltip-padding-x: 0.75rem;\n    --bs-tooltip-padding-y: 0.375rem;\n    --bs-tooltip-font-size: var(--bs-font-size-sm);\n    --bs-tooltip-color: var(--bs-bg-body);\n    --bs-tooltip-bg: var(--bs-fg-body);\n    --bs-tooltip-border-radius: var(--bs-border-radius);\n    --bs-tooltip-opacity: 0.95;\n    --bs-tooltip-arrow-width: 0.8rem;\n    --bs-tooltip-arrow-height: 0.4rem;\n    z-index: var(--bs-tooltip-zindex);\n    display: block;\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--bs-tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--bs-tooltip-arrow-width);\n    height: var(--bs-tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--bs-tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-block-end-color: var(--bs-tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--bs-tooltip-arrow-height));\n    width: var(--bs-tooltip-arrow-height);\n    height: var(--bs-tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n    border-inline-start-color: var(--bs-tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--bs-tooltip-max-width);\n    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n    color: var(--bs-tooltip-color);\n    text-align: center;\n    background-color: var(--bs-tooltip-bg);\n    border-radius: var(--bs-tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-success);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n    padding-inline-end: add(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='var%28--success%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--bs-form-valid-border-color);\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--bs-form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--bs-form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--bs-form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--bs-form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--bs-font-size-sm);\n    color: #fff;\n    background-color: var(--bs-danger);\n    border-radius: var(--bs-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--bs-form-invalid-border-color);\n    box-shadow: var(--bs-box-shadow-inset);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--bs-form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--bs-form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--bs-form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --bs-btn-min-height: 2.25rem;\n    --bs-btn-padding-x: 0.75rem;\n    --bs-btn-padding-y: 0.375rem;\n    --bs-btn-font-size: var(--bs-font-size-base);\n    --bs-btn-font-weight: var(--bs-font-weight-normal);\n    --bs-btn-line-height: var(--bs-line-height-base);\n    --bs-btn-color: var(--bs-fg-body);\n    --bs-btn-border-width: var(--bs-border-width);\n    --bs-btn-border-color: transparent;\n    --bs-btn-border-radius: var(--bs-border-radius);\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--bs-btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--bs-btn-min-height);\n    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n    font-size: var(--bs-btn-font-size);\n    font-weight: var(--bs-btn-font-weight);\n    line-height: var(--bs-btn-line-height);\n    color: var(--bs-btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    -webkit-user-select: none;\n    user-select: none;\n    background-color: var(--bs-btn-bg, var(--bs-bg-2));\n    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n    border-radius: var(--bs-btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--bs-btn-hover-color);\n    background-color: var(--bs-btn-hover-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n  }\n  .btn-solid {\n    --bs-btn-bg: var(--bs-theme-bg);\n    --bs-btn-color: var(--bs-theme-contrast);\n    --bs-btn-border-color: var(--bs-theme-bg);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-solid:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg);\n    --bs-btn-disabled-color: var(--bs-theme-contrast);\n    --bs-btn-disabled-border-color: var(--bs-theme-bg);\n  }\n  .btn-outline {\n    --bs-btn-bg: transparent;\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: var(--bs-theme-border);\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-outline:hover {\n    --bs-btn-hover-bg: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-color: oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-border-color: oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --bs-btn-active-bg: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-color: oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-border-color: oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: var(--bs-theme-border);\n  }\n  .btn-subtle {\n    --bs-btn-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --bs-btn-hover-bg: color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-active-color: oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --bs-btn-disabled-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --bs-btn-color: var(--bs-theme-text);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --bs-btn-hover-color: oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);\n    --bs-btn-hover-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--bs-theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --bs-btn-active-color: oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);\n    --bs-btn-active-bg: var(--bs-theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --bs-btn-disabled-color: var(--bs-theme-text);\n    --bs-btn-disabled-bg: transparent;\n    --bs-btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --bs-btn-font-weight: 400;\n    --bs-btn-color: var(--bs-link-color);\n    --bs-btn-bg: transparent;\n    --bs-btn-border-color: transparent;\n    --bs-btn-hover-color: var(--bs-link-hover-color);\n    --bs-btn-hover-bg: transparent;\n    --bs-btn-hover-border-color: transparent;\n    --bs-btn-active-color: var(--bs-link-hover-color);\n    --bs-btn-active-bg: transparent;\n    --bs-btn-active-border-color: transparent;\n    --bs-btn-disabled-color: var(--bs-fg-3);\n    --bs-btn-disabled-border-color: transparent;\n    color: var(--bs-theme-text, var(--bs-btn-color));\n    -webkit-text-decoration: var(--bs-link-decoration);\n    text-decoration: var(--bs-link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--bs-theme-text, var(--bs-btn-color));\n  }\n  .btn-link:hover {\n    color: var(--bs-theme-text-emphasis, var(--bs-btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --bs-btn-min-height: 1.5rem;\n    --bs-btn-padding-y: 0.125rem;\n    --bs-btn-padding-x: 0.375rem;\n    --bs-btn-font-size: var(--bs-font-size-xs);\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --bs-btn-min-height: 2rem;\n    --bs-btn-padding-y: 0.25rem;\n    --bs-btn-padding-x: 0.5rem;\n    --bs-btn-font-size: var(--bs-font-size-sm);\n    --bs-btn-line-height: 1.125rem;\n    --bs-btn-border-radius: var(--bs-border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --bs-btn-min-height: 2.75rem;\n    --bs-btn-padding-y: 0.5rem;\n    --bs-btn-padding-x: 1rem;\n    --bs-btn-font-size: var(--bs-font-size-md);\n    --bs-btn-line-height: 1.25rem;\n    --bs-btn-border-radius: var(--bs-border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--bs-btn-active-color);\n    background-color: var(--bs-btn-active-bg, var(--bs-bg-3));\n    border-color: var(--bs-btn-active-border-color);\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    --bs-focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--bs-btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));\n    border-color: var(--bs-btn-disabled-border-color);\n    opacity: var(--bs-btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --bs-btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --bs-btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --bs-btn-border-mix-color: #000;\n    --bs-btn-border-mix-amount: 10%;\n    --bs-btn-border-hover-mix-amount: 12.5%;\n    --bs-btn-border-active-mix-amount: 20%;\n    --bs-btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --bs-btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));\n    box-shadow: var(--bs-btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));\n    box-shadow: var(--bs-btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--bs-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--bs-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --bs-btn-close-size: 1.25rem;\n    --bs-btn-close-color: var(--bs-fg-body);\n    --bs-btn-close-opacity: 0.5;\n    --bs-btn-close-hover-opacity: 0.75;\n    --bs-btn-close-focus-opacity: 0.85;\n    --bs-btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--bs-btn-close-size);\n    height: var(--bs-btn-close-size);\n    padding: 0;\n    color: var(--bs-btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--bs-border-radius-sm);\n    opacity: var(--bs-btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--bs-btn-close-color);\n    text-decoration: none;\n    opacity: var(--bs-btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--bs-focus-ring);\n    opacity: var(--bs-btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    -webkit-user-select: none;\n    user-select: none;\n    opacity: var(--bs-btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --bs-accordion-color: var(--bs-color-body);\n    --bs-accordion-bg: var(--bs-bg-body);\n    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-radius 0.15s ease;\n    --bs-accordion-border-color: var(--bs-border-color);\n    --bs-accordion-border-width: var(--bs-border-width);\n    --bs-accordion-border-radius: var(--bs-accordion-radius, var(--bs-border-radius-lg));\n    --bs-accordion-btn-padding-x: 1.25rem;\n    --bs-accordion-btn-padding-y: 1rem;\n    --bs-accordion-btn-color: var(--bs-fg-2);\n    --bs-accordion-btn-bg: var(--bs-accordion-bg);\n    --bs-accordion-btn-icon-width: 1rem;\n    --bs-accordion-btn-icon-transform: rotate(-180deg);\n    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --bs-accordion-body-padding-x: 1.25rem;\n    --bs-accordion-body-padding-y: 1rem;\n    --bs-accordion-active-color: var(--bs-fg);\n    --bs-accordion-active-bg: var(--bs-bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n    font-size: 14px;\n    color: var(--bs-accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--bs-accordion-btn-bg);\n    transition: var(--bs-accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--bs-accordion-btn-icon-width);\n    height: var(--bs-accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--bs-accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--bs-accordion-color);\n    background-color: var(--bs-accordion-bg);\n    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--bs-accordion-border-radius);\n    border-start-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n    border-start-end-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n    border-end-end-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--bs-accordion-border-radius);\n    border-end-end-radius: var(--bs-accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--bs-theme-border, var(--bs-accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--bs-theme-text, var(--bs-accordion-active-color));\n    background-color: var(--bs-theme-bg-subtle, var(--bs-accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border, var(--bs-accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--bs-accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --bs-alert-gap: 0.75rem;\n    --bs-alert-bg: var(--bs-theme-bg-subtle, var(--bs-bg-1));\n    --bs-alert-padding-x: 1rem;\n    --bs-alert-padding-y: 1rem;\n    --bs-alert-color: var(--bs-theme-text, inherit);\n    --bs-alert-border-color: var(--bs-theme-border, var(--bs-border-color));\n    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n    --bs-alert-border-radius: var(--bs-border-radius);\n    --bs-alert-link-color: inherit;\n    --bs-hr-border-color: var(--bs-theme-border, var(--bs-border-color));\n    display: flex;\n    gap: var(--bs-alert-gap);\n    align-items: start;\n    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n    color: var(--bs-alert-color);\n    background-color: var(--bs-alert-bg);\n    border: var(--bs-alert-border);\n    border-radius: var(--bs-alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: 600;\n    color: var(--bs-alert-link-color);\n  }\n}\n@layer components {\n  .badge {\n    --bs-badge-padding-x: 0.625em;\n    --bs-badge-padding-y: 0.25em;\n    --bs-badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --bs-badge-font-weight: 600;\n    --bs-badge-color: inherit;\n    --bs-badge-bg: var(--bs-bg-2);\n    --bs-badge-border-width: 1px;\n    --bs-badge-border-color: transparent;\n    --bs-badge-border-radius: var(--bs-border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n    font-size: var(--bs-badge-font-size);\n    font-weight: var(--bs-badge-font-weight);\n    line-height: 1;\n    color: var(--bs-theme-contrast, var(--bs-badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--bs-theme-bg, var(--bs-badge-bg));\n    border: var(--bs-badge-border-width) solid var(--bs-badge-border-color);\n    border-radius: var(--bs-badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: var(--bs-theme-bg-subtle);\n    --bs-badge-border-color: transparent;\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n  .badge-outline {\n    --bs-badge-color: var(--bs-theme-text);\n    --bs-badge-bg: transparent;\n    --bs-badge-border-color: var(--bs-theme-border);\n    color: var(--bs-badge-color);\n    background-color: var(--bs-badge-bg);\n    border-color: var(--bs-badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --bs-breadcrumb-padding-x: 0;\n    --bs-breadcrumb-padding-y: 0;\n    --bs-breadcrumb-margin-bottom: 1rem;\n    --bs-breadcrumb-font-size: ;\n    --bs-breadcrumb-bg: ;\n    --bs-breadcrumb-border-radius: var(--bs-border-radius);\n    --bs-breadcrumb-divider-color: var(--bs-fg-4);\n    --bs-breadcrumb-link-padding-x: 0.75rem;\n    --bs-breadcrumb-link-padding-y: 0.25rem;\n    --bs-breadcrumb-link-color: var(--bs-fg-3);\n    --bs-breadcrumb-link-hover-color: var(--bs-fg-2);\n    --bs-breadcrumb-link-hover-bg: var(--bs-bg-1);\n    --bs-breadcrumb-link-active-color: var(--bs-fg-1);\n    --bs-breadcrumb-link-border-radius: var(--bs-border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n    font-size: var(--bs-breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--bs-breadcrumb-bg);\n    border-radius: var(--bs-breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--bs-breadcrumb-link-padding-x) / 4);\n    color: var(--bs-breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);\n    color: var(--bs-breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--bs-breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--bs-breadcrumb-link-hover-color);\n    background-color: var(--bs-breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--bs-breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .card {\n    --bs-card-spacer-y: 1rem;\n    --bs-card-spacer-x: 1rem;\n    --bs-card-subtitle-color: ;\n    --bs-card-border-width: var(--bs-border-width);\n    --bs-card-border-color: var(--bs-border-color-translucent);\n    --bs-card-border-radius: var(--bs-border-radius-lg);\n    --bs-card-box-shadow: ;\n    --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-card-cap-padding-y: 0.75rem;\n    --bs-card-cap-padding-x: 1rem;\n    --bs-card-cap-bg: var(--bs-bg-1);\n    --bs-card-cap-color: ;\n    --bs-card-height: ;\n    --bs-card-color: ;\n    --bs-card-bg: var(--bs-bg-body);\n    --bs-card-img-overlay-padding: 1rem;\n    --bs-card-group-margin: 0.75rem;\n    --bs-card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--bs-card-height);\n    color: var(--bs-color-body);\n    word-wrap: break-word;\n    background-color: var(--bs-card-bg);\n    box-shadow: var(--bs-card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--bs-card-body-gap);\n    align-items: flex-start;\n    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n    color: var(--bs-card-color);\n    border: solid var(--bs-theme-bg, var(--bs-card-border-color));\n    border-width: 0 var(--bs-card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--bs-theme-bg, var(--bs-card-border-color));\n    border-width: 0 var(--bs-card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--bs-card-border-radius);\n    border-start-end-radius: var(--bs-card-border-radius);\n    border-top-width: var(--bs-card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--bs-card-border-radius);\n    border-end-end-radius: var(--bs-card-border-radius);\n    border-bottom-width: var(--bs-card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--bs-card-border-width);\n  }\n  .card-subtitle {\n    margin-top: calc(var(--bs-card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--bs-theme-contrast, var(--bs-card-cap-color));\n    background-color: var(--bs-theme-bg, var(--bs-card-cap-bg));\n    border: var(--bs-card-border-width) solid var(--bs-theme-bg, var(--bs-card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n    color: var(--bs-card-cap-color);\n    background-color: var(--bs-theme-bg, var(--bs-card-cap-bg));\n    border: var(--bs-card-border-width) solid var(--bs-theme-bg, var(--bs-card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n  }\n  .card-subtle {\n    border-color: var(--bs-theme-border, var(--bs-card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--bs-theme-text-emphasis, currentcolor);\n    background-color: var(--bs-theme-bg-subtle, var(--bs-card-cap-bg));\n    border-color: var(--bs-theme-border, var(--bs-card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--bs-theme-text-emphasis, currentcolor);\n    background-color: var(--bs-theme-bg-subtle, var(--bs-card-cap-bg));\n    border-color: var(--bs-theme-border, var(--bs-card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--bs-theme-border, var(--bs-card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--bs-card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--bs-card-bg);\n    border-block-end-color: var(--bs-card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--bs-card-img-overlay-padding);\n    border-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--bs-card-border-width) solid var(--bs-card-border-color);\n    outline-offset: calc(var(--bs-card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--bs-card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n    border-inline-start-width: var(--bs-card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n    border-inline-end-width: var(--bs-card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--bs-card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--bs-card-inner-border-radius);\n    border-end-start-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--bs-card-inner-border-radius);\n    border-end-end-radius: var(--bs-card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--bs-card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: transform 0.6s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s 0.6s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15%;\n    padding: 0;\n    color: #fff;\n    text-align: center;\n    background: none;\n    filter: var(--bs-carousel-control-icon-filter);\n    border: 0;\n    opacity: 0.5;\n    transition: opacity 0.15s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9;\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: 2rem;\n    height: 2rem;\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(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: 15%;\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    padding: 0;\n    margin-inline: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--bs-carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: 10px solid transparent;\n    opacity: 0.5;\n    transition: opacity 0.6s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: 1;\n  }\n  .carousel-caption {\n    position: absolute;\n    right: 15%;\n    bottom: 1.25rem;\n    left: 15%;\n    padding-top: 1.25rem;\n    padding-bottom: 1.25rem;\n    color: var(--bs-carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  :root,\n  [data-bs-theme=light] {\n    --bs-carousel-indicator-active-bg: #fff;\n    --bs-carousel-caption-color: #fff;\n    --bs-carousel-control-icon-filter: ;\n  }\n  [data-bs-theme=dark] {\n    --bs-carousel-indicator-active-bg: #000;\n    --bs-carousel-caption-color: #000;\n    --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --bs-datepicker-padding: 1rem;\n    --bs-datepicker-bg: var(--bs-bg-body);\n    --bs-datepicker-color: var(--bs-fg-body);\n    --bs-datepicker-border-color: var(--bs-border-color-translucent);\n    --bs-datepicker-border-width: var(--bs-border-width);\n    --bs-datepicker-border-radius: var(--bs-border-radius-lg);\n    --bs-datepicker-box-shadow: var(--bs-box-shadow);\n    --bs-datepicker-font-size: var(--bs-font-size-sm);\n    --bs-datepicker-min-width: 280px;\n    --bs-datepicker-zindex: 1000;\n    --bs-datepicker-header-font-weight: 600;\n    --bs-datepicker-weekday-color: var(--bs-fg-3);\n    --bs-datepicker-day-hover-bg: var(--bs-bg-1);\n    --bs-datepicker-day-selected-bg: var(--bs-primary-bg);\n    --bs-datepicker-day-selected-color: var(--bs-primary-contrast);\n    --bs-datepicker-day-today-bg: var(--bs-bg-2);\n    --bs-datepicker-day-today-color: var(--bs-fg-1);\n    --bs-datepicker-day-disabled-color: var(--bs-fg-4);\n    position: absolute;\n    z-index: var(--bs-datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--bs-datepicker-min-width);\n    padding: var(--bs-datepicker-padding);\n    font-family: var(--bs-font-sans-serif);\n    font-size: var(--bs-datepicker-font-size);\n    color: var(--bs-datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--bs-datepicker-bg);\n    border: var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);\n    border-radius: var(--bs-datepicker-border-radius);\n    box-shadow: var(--bs-datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--bs-focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: -moz-fit-content;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--bs-datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--bs-datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--bs-datepicker-header-font-weight);\n    color: var(--bs-datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--bs-datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--bs-datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--bs-vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    -moz-column-gap: 0.25rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --bs-vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--bs-datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--bs-datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--bs-datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--bs-datepicker-day-selected-color);\n    background-color: var(--bs-datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--bs-datepicker-day-selected-color);\n    background-color: var(--bs-datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--bs-datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--bs-datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--bs-datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--bs-datepicker-day-today-color);\n    background-color: var(--bs-datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--bs-datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--bs-datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: 0.5rem;\n    border-end-start-radius: 0.5rem;\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: 0.5rem;\n    border-end-end-radius: 0.5rem;\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--bs-datepicker-day-selected-color);\n    background-color: var(--bs-datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: 0.5rem;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0.5rem;\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0.5rem;\n    border-bottom-right-radius: 0.5rem;\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --bs-dialog-padding: 1rem;\n    --bs-dialog-width: 500px;\n    --bs-dialog-margin: 1.75rem;\n    --bs-dialog-color: var(--bs-fg-body);\n    --bs-dialog-bg: var(--bs-bg-body);\n    --bs-dialog-border-color: var(--bs-border-color-translucent);\n    --bs-dialog-border-width: var(--bs-border-width);\n    --bs-dialog-border-radius: var(--bs-border-radius-lg);\n    --bs-dialog-box-shadow: var(--bs-box-shadow-lg);\n    --bs-dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --bs-dialog-header-padding: 1rem;\n    --bs-dialog-header-border-color: var(--bs-border-color);\n    --bs-dialog-header-border-width: var(--bs-border-width);\n    --bs-dialog-footer-padding: 1rem;\n    --bs-dialog-footer-border-color: var(--bs-border-color);\n    --bs-dialog-footer-border-width: var(--bs-border-width);\n    --bs-dialog-footer-gap: 0.5rem;\n    max-width: var(--bs-dialog-width);\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--bs-dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--bs-dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--bs-dialog-width);\n    margin-block-end: var(--bs-dialog-margin);\n    margin-inline: auto;\n    color: var(--bs-dialog-color);\n    background-color: var(--bs-dialog-bg);\n    background-clip: padding-box;\n    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);\n    border-radius: var(--bs-dialog-border-radius);\n    box-shadow: var(--bs-dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--bs-dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --bs-dialog-width: 280px;\n  }\n  .dialog-lg {\n    --bs-dialog-width: 800px;\n  }\n  .dialog-xl {\n    --bs-dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --bs-dialog-width: 100vw;\n    --bs-dialog-margin: 0;\n    --bs-dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --bs-dialog-width: 100vw;\n      --bs-dialog-margin: 0;\n      --bs-dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--bs-dialog-header-padding);\n    border-block-end: var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--bs-font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--bs-dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--bs-dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--bs-dialog-footer-padding);\n    border-block-start: var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --bs-dropdown-zindex: 1000;\n    --bs-dropdown-gap: 0.125rem;\n    --bs-dropdown-min-width: 10rem;\n    --bs-dropdown-padding-x: 0.25rem;\n    --bs-dropdown-padding-y: 0.25rem;\n    --bs-dropdown-spacer: 0.125rem;\n    --bs-dropdown-font-size: 14px;\n    --bs-dropdown-color: var(--bs-fg-body);\n    --bs-dropdown-bg: var(--bs-bg-body);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-border-radius: var(--bs-border-radius-lg);\n    --bs-dropdown-border-width: var(--bs-border-width);\n    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-divider-margin-y: 0.125rem;\n    --bs-dropdown-divider-margin-x: 0.25rem;\n    --bs-dropdown-box-shadow: var(--bs-box-shadow);\n    --bs-dropdown-link-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-color: var(--bs-fg-body);\n    --bs-dropdown-link-hover-bg: var(--bs-bg-1);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-fg-3);\n    --bs-dropdown-item-gap: 0.5rem;\n    --bs-dropdown-item-padding-x: 0.75rem;\n    --bs-dropdown-item-padding-y: 0.25rem;\n    --bs-dropdown-item-border-radius: var(--bs-border-radius);\n    --bs-dropdown-header-color: var(--bs-gray-600);\n    --bs-dropdown-header-padding-x: 0.75rem;\n    --bs-dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--bs-dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--bs-dropdown-gap);\n    min-width: var(--bs-dropdown-min-width);\n    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n    margin: 0;\n    font-size: var(--bs-dropdown-font-size);\n    color: var(--bs-dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--bs-dropdown-bg);\n    background-clip: padding-box;\n    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n    border-radius: var(--bs-dropdown-border-radius);\n    box-shadow: var(--bs-dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--bs-dropdown-divider-margin-y) var(--bs-dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--bs-dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--bs-dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--bs-dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--bs-dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--bs-dropdown-link-hover-color);\n    background-color: var(--bs-dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--bs-dropdown-link-active-color);\n    background-color: var(--bs-dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--bs-dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--bs-dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n    color: var(--bs-fg-2);\n  }\n  .dropdown-menu-dark {\n    --bs-dropdown-color: var(--bs-gray-300);\n    --bs-dropdown-bg: var(--bs-gray-900);\n    --bs-dropdown-border-color: var(--bs-border-color-translucent);\n    --bs-dropdown-box-shadow: ;\n    --bs-dropdown-link-color: var(--bs-gray-300);\n    --bs-dropdown-link-hover-color: #fff;\n    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n    --bs-dropdown-link-active-color: var(--bs-primary-contrast);\n    --bs-dropdown-link-active-bg: var(--bs-primary-bg);\n    --bs-dropdown-link-disabled-color: var(--bs-gray-500);\n    --bs-dropdown-header-color: var(--bs-gray-500);\n  }\n  .dropdown-submenu {\n    position: relative;\n  }\n  .dropdown-submenu > .dropdown-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .dropdown-submenu > .dropdown-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .dropdown-submenu > .dropdown-item::after {\n    transform: rotate(135deg);\n  }\n  .dropdown-submenu > .dropdown-menu {\n    top: 0;\n    margin-top: calc(-1 * var(--bs-dropdown-padding-y));\n  }\n  .dropdown-submenu:hover > .dropdown-item, .dropdown-submenu:focus-within > .dropdown-item {\n    color: var(--bs-dropdown-link-hover-color);\n    background-color: var(--bs-dropdown-link-hover-bg);\n  }\n  .dropdown-submenu.show > .dropdown-item {\n    color: var(--bs-dropdown-link-hover-color);\n    background-color: var(--bs-dropdown-link-hover-bg);\n  }\n}\n@layer components {\n  .list-group {\n    --bs-list-group-color: var(--bs-color-body);\n    --bs-list-group-bg: var(--bs-bg-body);\n    --bs-list-group-border-color: var(--bs-border-color);\n    --bs-list-group-border-width: var(--bs-border-width);\n    --bs-list-group-border-radius: var(--bs-border-radius);\n    --bs-list-group-item-padding-x: 1rem;\n    --bs-list-group-item-padding-y: 0.5rem;\n    --bs-list-group-action-color: var(--bs-secondary-color);\n    --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n    --bs-list-group-action-active-color: var(--bs-color-body);\n    --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n    --bs-list-group-disabled-color: var(--bs-secondary-color);\n    --bs-list-group-disabled-bg: var(--bs-bg-body);\n    --bs-list-group-active-color: var(--bs-primary-contrast);\n    --bs-list-group-active-bg: var(--bs-primary-bg);\n    --bs-list-group-active-border-color: var(--bs-primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--bs-list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n    color: var(--bs-theme-text, var(--bs-list-group-color));\n    background-color: var(--bs-theme-bg-subtle, var(--bs-list-group-bg));\n    border: var(--bs-list-group-border-width) solid var(--bs-theme-border, var(--bs-list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--bs-list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--bs-list-group-active-color);\n    background-color: var(--bs-list-group-active-bg);\n    border-color: var(--bs-list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--bs-list-group-border-width));\n    border-block-start-width: var(--bs-list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--bs-theme-text, var(--bs-list-group-action-color));\n    text-align: inherit;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--bs-theme-text-emphasis, var(--bs-list-group-action-active-color));\n    background-color: var(--bs-theme-bg-muted, var(--bs-list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--bs-list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--bs-list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--bs-list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n    border-inline-start-width: var(--bs-list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--bs-list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--bs-list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--bs-list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--bs-list-group-border-width));\n      border-inline-start-width: var(--bs-list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--bs-list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --bs-nav-gap: 0.125rem;\n    --bs-nav-link-gap: 0.5rem;\n    --bs-nav-link-padding-x: 1rem;\n    --bs-nav-link-padding-y: 0.5rem;\n    --bs-nav-link-color: var(--bs-fg-2);\n    --bs-nav-link-hover-color: var(--bs-fg-1);\n    --bs-nav-link-hover-bg: var(--bs-bg-1);\n    --bs-nav-link-active-color: var(--bs-fg-body);\n    --bs-nav-link-active-bg: var(--bs-bg-2);\n    --bs-nav-link-disabled-color: var(--bs-fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--bs-nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--bs-nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n    font-weight: var(--bs-nav-link-font-weight);\n    color: var(--bs-nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--bs-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--bs-nav-link-hover-color);\n    background-color: var(--bs-nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --bs-focus-ring-offset: 1px;\n    color: var(--bs-nav-link-hover-color);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--bs-nav-link-active-color);\n    background-color: var(--bs-nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--bs-nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --bs-nav-tabs-border-width: var(--bs-border-width);\n    --bs-nav-tabs-border-color: var(--bs-border-color);\n    --bs-nav-tabs-border-radius: var(--bs-border-radius);\n    --bs-nav-tabs-link-hover-border-color: var(--bs-border-subtle);\n    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n    --bs-nav-tabs-link-active-bg: var(--bs-bg-body);\n    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);\n    border-block-end: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n    border: var(--bs-nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--bs-nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--bs-nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--bs-nav-tabs-link-active-color);\n    background-color: var(--bs-nav-tabs-link-active-bg);\n    border-color: var(--bs-nav-tabs-link-active-border-color);\n    border-bottom-color: var(--bs-nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --bs-nav-pills-link-active-color: var(--bs-primary-contrast);\n    --bs-nav-pills-link-active-bg: var(--bs-primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--bs-nav-pills-link-active-color);\n    background-color: var(--bs-nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --bs-nav-gap: 1rem;\n    --bs-nav-link-active-bg: transparent;\n    --bs-nav-underline-border-width: 0.125rem;\n    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--bs-nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--bs-nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --bs-navbar-padding-x: 0;\n    --bs-navbar-padding-y: 0.5rem;\n    --bs-navbar-color: var(--bs-fg-2);\n    --bs-navbar-hover-color: var(--bs-fg-1);\n    --bs-navbar-disabled-color: var(--bs-fg-3);\n    --bs-navbar-active-color: var(--bs-fg);\n    --bs-navbar-brand-padding-y: 0.75rem;\n    --bs-navbar-brand-margin-end: 1rem;\n    --bs-navbar-brand-font-size: 17.5px;\n    --bs-navbar-brand-color: var(--bs-fg);\n    --bs-navbar-brand-hover-color: var(--bs-fg);\n    --bs-navbar-nav-link-padding-x: 0.75rem;\n    --bs-navbar-toggler-padding-y: 0.25rem;\n    --bs-navbar-toggler-padding-x: 0.75rem;\n    --bs-navbar-toggler-font-size: 17.5px;\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(var(--color-body), 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n    --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--bs-navbar-brand-padding-y);\n    padding-bottom: var(--bs-navbar-brand-padding-y);\n    margin-inline-end: var(--bs-navbar-brand-margin-end);\n    font-size: var(--bs-navbar-brand-font-size);\n    color: var(--bs-navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--bs-navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --bs-nav-link-color: var(--bs-navbar-color);\n    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--bs-navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--bs-navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n    font-size: var(--bs-navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--bs-navbar-color);\n    background-color: transparent;\n    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n    border-radius: var(--bs-navbar-toggler-border-radius);\n    transition: var(--bs-navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus-visible {\n    text-decoration: none;\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--bs-navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--bs-scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --bs-navbar-color: rgba(255, 255, 255, 0.55);\n    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --bs-navbar-active-color: #fff;\n    --bs-navbar-brand-color: #fff;\n    --bs-navbar-brand-hover-color: #fff;\n    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --bs-navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --bs-offcanvas-zindex: 1045;\n  --bs-offcanvas-width: 400px;\n  --bs-offcanvas-height: 30vh;\n  --bs-offcanvas-padding-x: 1rem;\n  --bs-offcanvas-padding-y: 1rem;\n  --bs-offcanvas-color: var(--bs-color-body);\n  --bs-offcanvas-bg: var(--bs-bg-body);\n  --bs-offcanvas-border-width: var(--bs-border-width);\n  --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n  --bs-offcanvas-transition: transform 0.3s ease-in-out;\n  --bs-offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--bs-offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--bs-offcanvas-color);\n      visibility: hidden;\n      background-color: var(--bs-offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--bs-offcanvas-box-shadow);\n      transition: var(--bs-offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--bs-offcanvas-width);\n      border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--bs-offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --bs-offcanvas-height: auto;\n      --bs-offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--bs-offcanvas-box-shadow);\n    transition: var(--bs-offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--bs-offcanvas-width);\n    border-inline-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--bs-offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--bs-offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --bs-pagination-padding-x: 0.75rem;\n    --bs-pagination-padding-y: 0.375rem;\n    --bs-pagination-font-size: 14px;\n    --bs-pagination-color: var(--bs-link-color);\n    --bs-pagination-bg: var(--bs-bg-body);\n    --bs-pagination-border-width: var(--bs-border-width);\n    --bs-pagination-border-color: var(--bs-border-color);\n    --bs-pagination-border-radius: var(--bs-border-radius);\n    --bs-pagination-hover-color: var(--bs-link-hover-color);\n    --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n    --bs-pagination-hover-border-color: var(--bs-border-color);\n    --bs-pagination-focus-color: var(--bs-link-hover-color);\n    --bs-pagination-focus-bg: var(--bs-secondary-bg);\n    --bs-pagination-active-color: var(--bs-primary-contrast);\n    --bs-pagination-active-bg: var(--bs-primary-bg);\n    --bs-pagination-active-border-color: var(--bs-primary-bg);\n    --bs-pagination-disabled-color: var(--bs-secondary-color);\n    --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n    --bs-pagination-disabled-border-color: var(--bs-border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n    font-size: var(--bs-pagination-font-size);\n    color: var(--bs-pagination-color);\n    text-decoration: none;\n    background-color: var(--bs-pagination-bg);\n    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--bs-pagination-hover-color);\n    background-color: var(--bs-pagination-hover-bg);\n    border-color: var(--bs-pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--bs-pagination-focus-color);\n    background-color: var(--bs-pagination-focus-bg);\n    outline: var(--bs-focus-ring);\n    outline-offset: var(--bs-focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--bs-pagination-active-color);\n    background-color: var(--bs-pagination-active-bg);\n    border-color: var(--bs-pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--bs-pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--bs-pagination-disabled-bg);\n    border-color: var(--bs-pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--bs-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--bs-pagination-border-radius);\n    border-end-start-radius: var(--bs-pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--bs-pagination-border-radius);\n    border-end-end-radius: var(--bs-pagination-border-radius);\n  }\n  .pagination-lg {\n    --bs-pagination-padding-x: 1.5rem;\n    --bs-pagination-padding-y: 0.75rem;\n    --bs-pagination-font-size: 17.5px;\n    --bs-pagination-border-radius: var(--bs-border-radius-lg);\n  }\n  .pagination-sm {\n    --bs-pagination-padding-x: 0.5rem;\n    --bs-pagination-padding-y: 0.25rem;\n    --bs-pagination-font-size: 12.25px;\n    --bs-pagination-border-radius: var(--bs-border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: 0.5;\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: 0.2;\n    }\n  }\n  .placeholder-wave {\n    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    -webkit-mask-size: 200% 100%;\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      -webkit-mask-position: -200% 0%;\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --bs-popover-zindex: 1070;\n    --bs-popover-max-width: 280px;\n    --bs-popover-font-size: var(--bs-font-size-sm);\n    --bs-popover-bg: var(--bs-bg-body);\n    --bs-popover-border-width: var(--bs-border-width);\n    --bs-popover-border-color: var(--bs-border-color-translucent);\n    --bs-popover-border-radius: var(--bs-border-radius-lg);\n    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n    --bs-popover-box-shadow: var(--bs-box-shadow);\n    --bs-popover-header-padding-x: 1rem;\n    --bs-popover-header-padding-y: 0.75rem;\n    --bs-popover-header-font-size: 14px;\n    --bs-popover-header-color: inherit;\n    --bs-popover-header-bg: var(--bs-bg-1);\n    --bs-popover-body-padding-x: 1rem;\n    --bs-popover-body-padding-y: 0.75rem;\n    --bs-popover-body-color: var(--bs-color-body);\n    --bs-popover-arrow-width: 1rem;\n    --bs-popover-arrow-height: 0.5rem;\n    --bs-popover-arrow-border: var(--bs-popover-border-color);\n    z-index: var(--bs-popover-zindex);\n    display: block;\n    max-width: var(--bs-popover-max-width);\n    font-family: var(--bs-font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--bs-popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--bs-popover-bg);\n    background-clip: padding-box;\n    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-radius: var(--bs-popover-border-radius);\n    box-shadow: var(--bs-popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    height: var(--bs-popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--bs-popover-border-width);\n    border-block-start-color: var(--bs-popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--bs-popover-border-width);\n    border-inline-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--bs-popover-border-width);\n    border-block-end-color: var(--bs-popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--bs-popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--bs-popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n    width: var(--bs-popover-arrow-height);\n    height: var(--bs-popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--bs-popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--bs-popover-border-width);\n    border-inline-start-color: var(--bs-popover-bg);\n  }\n  .popover-header {\n    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--bs-popover-header-font-size);\n    color: var(--bs-popover-header-color);\n    background-color: var(--bs-popover-header-bg);\n    border-block-end: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n    border-start-start-radius: var(--bs-popover-inner-border-radius);\n    border-start-end-radius: var(--bs-popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n    color: var(--bs-popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--bs-progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --bs-progress-height: 1rem;\n    --bs-progress-font-size: 10.5px;\n    --bs-progress-bg: var(--bs-secondary-bg);\n    --bs-progress-border-radius: var(--bs-border-radius);\n    --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n    --bs-progress-bar-color: #fff;\n    --bs-progress-bar-bg: var(--bs-primary-bg);\n    --bs-progress-bar-transition: width 0.6s ease;\n    display: flex;\n    height: var(--bs-progress-height);\n    overflow: hidden;\n    font-size: var(--bs-progress-font-size);\n    background-color: var(--bs-progress-bg);\n    border-radius: var(--bs-progress-border-radius);\n    box-shadow: var(--bs-progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--bs-theme-contrast, var(--bs-progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--bs-theme-bg, var(--bs-progress-bar-bg));\n    transition: var(--bs-progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--bs-progress-height) var(--bs-progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: 1s linear infinite progress-bar-stripes;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--bs-spinner-width);\n    height: var(--bs-spinner-height);\n    vertical-align: var(--bs-spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-border-width: 0.25em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-border;\n    border: var(--bs-spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n    --bs-spinner-border-width: 0.2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --bs-spinner-width: 2rem;\n    --bs-spinner-height: 2rem;\n    --bs-spinner-vertical-align: -0.125em;\n    --bs-spinner-animation-speed: 0.75s;\n    --bs-spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --bs-spinner-width: 1rem;\n    --bs-spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --bs-spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .toast {\n    --bs-toast-zindex: 1090;\n    --bs-toast-padding-x: 0.75rem;\n    --bs-toast-padding-y: 0.5rem;\n    --bs-toast-spacing: 1.5rem;\n    --bs-toast-max-width: 350px;\n    --bs-toast-font-size: 0.875rem;\n    --bs-toast-color: ;\n    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-border-width: var(--bs-border-width);\n    --bs-toast-border-color: var(--bs-border-color-translucent);\n    --bs-toast-border-radius: var(--bs-border-radius);\n    --bs-toast-box-shadow: var(--bs-box-shadow);\n    --bs-toast-header-color: var(--bs-secondary-color);\n    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n    --bs-toast-header-border-color: var(--bs-border-color-translucent);\n    width: var(--bs-toast-max-width);\n    max-width: 100%;\n    font-size: var(--bs-toast-font-size);\n    color: var(--bs-toast-color);\n    pointer-events: auto;\n    background-color: var(--bs-toast-bg);\n    background-clip: padding-box;\n    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n    box-shadow: var(--bs-toast-box-shadow);\n    border-radius: var(--bs-toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --bs-toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--bs-toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--bs-toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n    color: var(--bs-toast-header-color);\n    background-color: var(--bs-toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n    border-start-start-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n    border-start-end-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--bs-toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--bs-toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--bs-toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--bs-focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--bs-border-width);\n    min-height: 1em;\n    background-color: var(--bs-border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--bs-ratio);\n  }\n  .ratio-auto {\n    --bs-ratio: auto;\n  }\n  .ratio-1x1 {\n    --bs-ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --bs-ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --bs-ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --bs-ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    -o-object-fit: contain;\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    -o-object-fit: cover;\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    -o-object-fit: fill;\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    -o-object-fit: scale-down;\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    -o-object-fit: none;\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--bs-box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--bs-box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--bs-box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-blue-500), var(--bs-blue-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-accent {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-indigo-500), var(--bs-indigo-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-success {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-green-500), var(--bs-green-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-danger {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-red-500), var(--bs-red-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-warning {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-yellow-500), var(--bs-yellow-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-info {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-cyan-500), var(--bs-cyan-400)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-inverse {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-900), var(--bs-gray-100)) 50%, var(--bs-bg-body));\n  }\n  .focus-ring-secondary {\n    --bs-focus-ring-color: color-mix(in oklch, light-dark(var(--bs-gray-500), var(--bs-gray-300)) 50%, var(--bs-bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --bs-border-color: var(--bs-blue-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-accent {\n    --bs-border-color: var(--bs-indigo-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-success {\n    --bs-border-color: var(--bs-green-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-danger {\n    --bs-border-color: var(--bs-red-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-warning {\n    --bs-border-color: var(--bs-yellow-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-info {\n    --bs-border-color: var(--bs-cyan-500);\n    border-color: var(--bs-border-color);\n  }\n  .border-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    border-color: var(--bs-border-color);\n  }\n  .border-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-bg {\n    --bs-border-color: var(--bs-bg-body);\n    border-color: var(--bs-border-color);\n  }\n  .border-body {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-muted {\n    --bs-border-color: light-dark(var(--bs-gray-200), var(--bs-gray-800));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle {\n    --bs-border-color: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    border-color: var(--bs-border-color);\n  }\n  .border-emphasized {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-white {\n    --bs-border-color: var(--bs-white);\n    border-color: var(--bs-border-color);\n  }\n  .border-black {\n    --bs-border-color: var(--bs-black);\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-primary {\n    --bs-border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-accent {\n    --bs-border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-success {\n    --bs-border-color: light-dark(var(--bs-green-300), var(--bs-green-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-danger {\n    --bs-border-color: light-dark(var(--bs-red-300), var(--bs-red-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-warning {\n    --bs-border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-info {\n    --bs-border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-inverse {\n    --bs-border-color: light-dark(var(--bs-gray-400), var(--bs-gray-100));\n    border-color: var(--bs-border-color);\n  }\n  .border-subtle-secondary {\n    --bs-border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600));\n    border-color: var(--bs-border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--bs-border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--bs-border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: -moz-fit-content;\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: -moz-fit-content;\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --bs-columns: 3;\n  }\n  .grid-cols-4 {\n    --bs-columns: 4;\n  }\n  .grid-cols-6 {\n    --bs-columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    -moz-column-gap: 0;\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    -moz-column-gap: 0.25rem;\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    -moz-column-gap: 0.5rem;\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    -moz-column-gap: 1.5rem;\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    -moz-column-gap: 3rem;\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--bs-font-monospace);\n  }\n  .font-body {\n    font-family: var(--bs-font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--bs-font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--bs-font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--bs-font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--bs-font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--bs-font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--bs-font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--bs-font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--bs-font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--bs-font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--bs-font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--bs-font-size-xs);\n    line-height: var(--bs-line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--bs-font-size-sm);\n    line-height: var(--bs-line-height-sm);\n  }\n  .text-md {\n    font-size: var(--bs-font-size-md);\n    line-height: var(--bs-line-height-md);\n  }\n  .text-lg {\n    font-size: var(--bs-font-size-lg);\n    line-height: var(--bs-line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--bs-font-size-xl);\n    line-height: var(--bs-line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--bs-font-size-2xl);\n    line-height: var(--bs-line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--bs-font-size-3xl);\n    line-height: var(--bs-line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--bs-font-size-4xl);\n    line-height: var(--bs-line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--bs-font-size-5xl);\n    line-height: var(--bs-line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--bs-font-size-6xl);\n    line-height: var(--bs-line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --bs-fg: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n    color: var(--bs-fg);\n  }\n  .fg-accent {\n    --bs-fg: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n    color: var(--bs-fg);\n  }\n  .fg-success {\n    --bs-fg: light-dark(var(--bs-green-600), var(--bs-green-400));\n    color: var(--bs-fg);\n  }\n  .fg-danger {\n    --bs-fg: light-dark(var(--bs-red-600), var(--bs-red-400));\n    color: var(--bs-fg);\n  }\n  .fg-warning {\n    --bs-fg: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n    color: var(--bs-fg);\n  }\n  .fg-info {\n    --bs-fg: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n    color: var(--bs-fg);\n  }\n  .fg-inverse {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-secondary {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n    color: var(--bs-fg);\n  }\n  .fg-body {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-050));\n    color: var(--bs-fg);\n  }\n  .fg-1 {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-2 {\n    --bs-fg: light-dark(var(--bs-gray-700), var(--bs-gray-300));\n    color: var(--bs-fg);\n  }\n  .fg-3 {\n    --bs-fg: light-dark(var(--bs-gray-600), var(--bs-gray-500));\n    color: var(--bs-fg);\n  }\n  .fg-4 {\n    --bs-fg: light-dark(var(--bs-gray-500), var(--bs-gray-600));\n    color: var(--bs-fg);\n  }\n  .fg-white {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-black {\n    --bs-fg: var(--bs-black);\n    color: var(--bs-fg);\n  }\n  .fg-inherit {\n    --bs-fg: inherit;\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-primary {\n    --bs-fg: light-dark(var(--bs-blue-800), var(--bs-blue-200));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-accent {\n    --bs-fg: light-dark(var(--bs-indigo-800), var(--bs-indigo-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-success {\n    --bs-fg: light-dark(var(--bs-green-800), var(--bs-green-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-danger {\n    --bs-fg: light-dark(var(--bs-red-800), var(--bs-red-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-warning {\n    --bs-fg: light-dark(var(--bs-yellow-800), var(--bs-yellow-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-info {\n    --bs-fg: light-dark(var(--bs-cyan-800), var(--bs-cyan-300));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-inverse {\n    --bs-fg: light-dark(var(--bs-gray-975), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-emphasis-secondary {\n    --bs-fg: light-dark(var(--bs-gray-800), var(--bs-gray-200));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-primary {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-accent {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-success {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-danger {\n    --bs-fg: var(--bs-white);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-warning {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-info {\n    --bs-fg: var(--bs-gray-900);\n    color: var(--bs-fg);\n  }\n  .fg-contrast-inverse {\n    --bs-fg: light-dark(var(--bs-white), var(--bs-gray-900));\n    color: var(--bs-fg);\n  }\n  .fg-contrast-secondary {\n    --bs-fg: light-dark(var(--bs-gray-900), var(--bs-white));\n    color: var(--bs-fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--bs-fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--bs-fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--bs-fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--bs-fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--bs-fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--bs-fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--bs-fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--bs-fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--bs-fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--bs-fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--bs-link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--bs-link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--bs-blue-600), var(--bs-blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--bs-indigo-600), color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--bs-green-600), var(--bs-green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--bs-red-600), var(--bs-red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--bs-gray-900), var(--bs-gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--bs-gray-600), var(--bs-gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--bs-link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--bs-link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bs-bg: var(--bs-blue-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-accent {\n    --bs-bg: var(--bs-indigo-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-success {\n    --bs-bg: var(--bs-green-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-danger {\n    --bs-bg: var(--bs-red-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-warning {\n    --bs-bg: var(--bs-yellow-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-info {\n    --bs-bg: var(--bs-cyan-500);\n    background-color: var(--bs-bg);\n  }\n  .bg-inverse {\n    --bs-bg: light-dark(var(--bs-gray-900), var(--bs-gray-025));\n    background-color: var(--bs-bg);\n  }\n  .bg-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-600));\n    background-color: var(--bs-bg);\n  }\n  .bg-body {\n    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-975));\n    background-color: var(--bs-bg);\n  }\n  .bg-1 {\n    --bs-bg: light-dark(var(--bs-gray-025), var(--bs-gray-950));\n    background-color: var(--bs-bg);\n  }\n  .bg-2 {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-3 {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-4 {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-white {\n    --bs-bg: var(--bs-white);\n    background-color: var(--bs-bg);\n  }\n  .bg-black {\n    --bs-bg: var(--bs-black);\n    background-color: var(--bs-bg);\n  }\n  .bg-transparent {\n    --bs-bg: transparent;\n    background-color: var(--bs-bg);\n  }\n  .bg-inherit {\n    --bs-bg: inherit;\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-primary {\n    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-accent {\n    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-success {\n    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-danger {\n    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-warning {\n    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-info {\n    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-inverse {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-900));\n    background-color: var(--bs-bg);\n  }\n  .bg-subtle-secondary {\n    --bs-bg: light-dark(var(--bs-gray-050), var(--bs-gray-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-primary {\n    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-accent {\n    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-success {\n    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-danger {\n    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-warning {\n    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-info {\n    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-inverse {\n    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-300));\n    background-color: var(--bs-bg);\n  }\n  .bg-muted-secondary {\n    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-700));\n    background-color: var(--bs-bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bs-bg);\n  }\n  .theme-contrast {\n    background-color: var(--bs-theme-bg);\n    color: var(--bs-theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--bs-theme-bg-subtle);\n    color: var(--bs-theme-text);\n  }\n  .theme-muted {\n    background-color: var(--bs-theme-bg-muted);\n    color: var(--bs-theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--bs-border-width) solid var(--bs-theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--bs-gradient);\n  }\n  .user-select-all {\n    -webkit-user-select: all;\n    user-select: all;\n  }\n  .user-select-auto {\n    -webkit-user-select: auto;\n    user-select: auto;\n  }\n  .user-select-none {\n    -webkit-user-select: none;\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--bs-border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--bs-border-radius-sm);\n    border-end-start-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--bs-border-radius);\n    border-end-start-radius: var(--bs-border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--bs-border-radius-lg);\n    border-end-start-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--bs-border-radius-xl);\n    border-end-start-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--bs-border-radius-2xl);\n    border-end-start-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--bs-border-radius-pill);\n    border-end-start-radius: var(--bs-border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--bs-border-radius-sm);\n    border-start-end-radius: var(--bs-border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--bs-border-radius);\n    border-start-end-radius: var(--bs-border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--bs-border-radius-lg);\n    border-start-end-radius: var(--bs-border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--bs-border-radius-xl);\n    border-start-end-radius: var(--bs-border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--bs-border-radius-2xl);\n    border-start-end-radius: var(--bs-border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--bs-border-radius-pill);\n    border-start-end-radius: var(--bs-border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-md-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-md-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      -o-object-fit: contain;\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      -o-object-fit: cover;\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      -o-object-fit: fill;\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      -o-object-fit: scale-down;\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      -o-object-fit: none;\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --bs-columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --bs-columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --bs-columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      -moz-column-gap: 0;\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      -moz-column-gap: 0.25rem;\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      -moz-column-gap: 0.5rem;\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      -moz-column-gap: 1rem;\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      -moz-column-gap: 1.5rem;\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      -moz-column-gap: 3rem;\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--color-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    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      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    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    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--color-body) !default;\n$table-bg:                    var(--bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--border-width) !default;\n$table-border-color:          var(--border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --table-color: #{$table-color};\n    --table-bg: #{$table-bg};\n    --table-border-color: #{$table-border-color};\n    --table-accent-bg: #{$table-accent-bg};\n    --table-striped-color: #{$table-striped-color};\n    --table-striped-bg: #{$table-striped-bg};\n    --table-active-color: #{$table-active-color};\n    --table-active-bg: #{$table-active-bg};\n    --table-hover-color: #{$table-hover-color};\n    --table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--bg-body) !default;\n$thumbnail-border-width:            var(--border-width) !default;\n$thumbnail-border-color:            var(--border-color) !default;\n$thumbnail-border-radius:           var(--border-radius) !default;\n$thumbnail-box-shadow:              var(--box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not([class]) {\n        margin-top: 0;\n        margin-bottom: calc(var(--content-gap) / -2);\n        font-weight: 500;\n        line-height: 1.25;\n\n        code {\n          font-weight: 600;\n          color: inherit;\n        }\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    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    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    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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n@use \"../buttons/button-variables\" as *; // mdo-do: remove?\n\n@layer forms {\n  .form-control {\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n    --control-select-bg-color: #{$control-select-indicator-color};\n    --control-select-bg: #{escape-svg($control-select-indicator)};\n    --control-select-bg-position: #{$control-select-bg-position};\n    --control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      height: if(sass(math.unit($input-line-height) == \"\"): $input-line-height * 1em; else: $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: $input-padding-y 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n  .form-control-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--border-color) !default;\n$check-checked-bg: var(--primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --check-bg: transparent;\n    --check-border-color: #{$check-border-color};\n    --check-checked-bg: #{$check-checked-bg};\n    --check-checked-border-color: #{$check-checked-border-color};\n    --check-indeterminate-bg: #{$check-indeterminate-bg};\n    --check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --check-disabled-bg: #{$check-disabled-bg};\n    --check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--border-color) !default;\n$radio-checked-bg: var(--primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --radio-bg: transparent;\n    --radio-border-color: #{$radio-border-color};\n    --radio-checked-bg: #{$radio-checked-bg};\n    --radio-checked-border-color: #{$radio-checked-border-color};\n    --radio-disabled-bg: #{$radio-disabled-bg};\n    --radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--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-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(#{$form-range-thumb-height} + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: rgba(var(--body-color-rgb), #{$form-floating-label-opacity});\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start strength-variables\n$strength-height:          .375rem !default;\n$strength-gap:             .25rem !default;\n$strength-margin-top:      .25rem !default;\n$strength-border-radius:   var(--border-radius-pill) !default;\n$strength-bg:              var(--bg-2) !default;\n$strength-transition:      background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n$strength-weak-color:      var(--danger-bg) !default;\n$strength-fair-color:      var(--warning-bg) !default;\n$strength-good-color:      var(--info-bg) !default;\n$strength-strong-color:    var(--success-bg) !default;\n// scss-docs-end strength-variables\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    --strength-height: #{$strength-height};\n    --strength-gap: #{$strength-gap};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: #{$strength-bg};\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: $strength-margin-top;\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  // Strength levels - set the color variable\n  .strength[data-bs-strength=\"weak\"] {\n    --strength-color: #{$strength-weak-color};\n  }\n\n  .strength[data-bs-strength=\"fair\"] {\n    --strength-color: #{$strength-fair-color};\n  }\n\n  .strength[data-bs-strength=\"good\"] {\n    --strength-color: #{$strength-good-color};\n  }\n\n  .strength[data-bs-strength=\"strong\"] {\n    --strength-color: #{$strength-strong-color};\n  }\n\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: $strength-margin-top;\n    font-size: $small-font-size;\n    color: var(--strength-color, var(--secondary-color));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    --strength-height: #{$strength-height};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: $strength-margin-top;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    &[data-bs-strength=\"weak\"] {\n      --strength-color: #{$strength-weak-color};\n      --strength-width: 25%;\n    }\n\n    &[data-bs-strength=\"fair\"] {\n      --strength-color: #{$strength-fair-color};\n      --strength-width: 50%;\n    }\n\n    &[data-bs-strength=\"good\"] {\n      --strength-color: #{$strength-good-color};\n      --strength-width: 75%;\n    }\n\n    &[data-bs-strength=\"strong\"] {\n      --strength-color: #{$strength-strong-color};\n      --strength-width: 100%;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start otp-input-variables\n$otp-input-size:              3rem !default;\n$otp-input-size-sm:           2.25rem !default;\n$otp-input-size-lg:           3.5rem !default;\n$otp-input-font-size:         $font-size-lg !default;\n$otp-input-font-size-sm:      $font-size-base !default;\n$otp-input-font-size-lg:      $font-size-lg * 1.25 !default;\n$otp-input-gap:               .5rem !default;\n// scss-docs-end otp-input-variables\n\n@layer forms {\n  .otp {\n    --otp-size: #{$otp-input-size};\n    --otp-font-size: #{$otp-input-font-size};\n    --otp-gap: #{$otp-input-gap};\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  .otp-sm {\n    --otp-size: #{$otp-input-size-sm};\n    --otp-font-size: #{$otp-input-font-size-sm};\n  }\n\n  .otp-lg {\n    --otp-size: #{$otp-input-size-lg};\n    --otp-font-size: #{$otp-input-font-size-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-adorn-variables\n$form-adorn-gap:           .375rem !default;\n$form-adorn-icon-size:     1rem !default;\n$form-adorn-icon-color:    var(--fg-2) !default;\n// scss-docs-end form-adorn-variables\n\n@layer forms {\n  .form-adorn {\n    // Inherit form-control CSS variables for sizing\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Adorn-specific variables\n    --form-adorn-gap: #{$form-adorn-gap};\n    --form-adorn-icon-size: #{$form-adorn-icon-size};\n    --form-adorn-icon-color: #{$form-adorn-icon-color};\n\n    // Flexbox layout\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Replicate .form-control styles on the wrapper\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n\n    // Adornment at end (right in LTR) - input comes first visually\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n\n  // Sizing variants\n  .form-adorn-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-adorn-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 var(--font-size-sm) !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--bg-body) !default;\n$tooltip-bg:                        var(--fg-body) !default;\n$tooltip-border-radius:             var(--border-radius) !default;\n$tooltip-opacity:                   .95 !default;\n$tooltip-padding-y:                 $spacer * .375 !default;\n$tooltip-padding-x:                 $spacer * .75 !default;\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size:     $tooltip-font-size !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n@layer components {\n  .tooltip {\n    // scss-docs-start tooltip-css-vars\n    --tooltip-zindex: #{$zindex-tooltip};\n    --tooltip-max-width: #{$tooltip-max-width};\n    --tooltip-padding-x: #{$tooltip-padding-x};\n    --tooltip-padding-y: #{$tooltip-padding-y};\n    --tooltip-font-size: #{$tooltip-font-size};\n    --tooltip-color: #{$tooltip-color};\n    --tooltip-bg: #{$tooltip-bg};\n    --tooltip-border-radius: #{$tooltip-border-radius};\n    --tooltip-opacity: #{$tooltip-opacity};\n    --tooltip-arrow-width: #{$tooltip-arrow-width};\n    --tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: #{$btn-padding-x};\n    --btn-padding-y: #{$btn-padding-y};\n    // --btn-font-family: #{$btn-font-family};\n    --btn-font-size: #{$btn-font-size};\n    --btn-font-weight: #{$btn-font-weight};\n    --btn-line-height: #{$btn-line-height};\n    --btn-color: #{$btn-color};\n    --btn-border-width: #{$btn-border-width};\n    --btn-border-color: transparent;\n    --btn-border-radius: #{$btn-border-radius};\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: $btn-white-space;\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --btn-font-weight: #{$font-weight-normal};\n    --btn-color: #{$btn-link-color};\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: #{$btn-link-hover-color};\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: #{$btn-link-hover-color};\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: #{$btn-link-disabled-color};\n    --btn-disabled-border-color: transparent;\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: #{map.get($properties, \"min-height\")};\n      --btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --btn-font-size: #{map.get($properties, \"font-size\")};\n      --btn-line-height: #{map.get($properties, \"line-height\")};\n      --btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-lg * .75;\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --btn-close-size: #{$btn-close-size};\n    --btn-close-color: #{$btn-close-color};\n    --btn-close-opacity: #{$btn-close-opacity};\n    --btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--color-body) !default;\n$accordion-bg:                            var(--bg-body) !default;\n$accordion-border-width:                  var(--border-width) !default;\n$accordion-border-color:                  var(--border-color) !default;\n$accordion-border-radius:                 var(--border-radius-lg) !default;\n$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;\n\n$accordion-body-padding-y:                $accordion-padding-y !default;\n$accordion-body-padding-x:                $accordion-padding-x !default;\n\n$accordion-button-padding-y:              $accordion-padding-y !default;\n$accordion-button-padding-x:              $accordion-padding-x !default;\n$accordion-button-color:                  var(--fg-2) !default;\n$accordion-button-bg:                     var(--accordion-bg) !default;\n$accordion-transition:                    color .15s ease-in-out, background-color .15s ease-in-out, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--bg-2) !default;\n$accordion-button-active-color:           var(--fg) !default;\n\n$accordion-icon-width:                    1rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n// scss-docs-end accordion-variables\n\n@layer components {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --accordion-color: #{$accordion-color};\n    --accordion-bg: #{$accordion-bg};\n    --accordion-transition: #{$accordion-transition};\n    --accordion-border-color: #{$accordion-border-color};\n    --accordion-border-width: #{$accordion-border-width};\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    // --accordion-border-radius: #{$accordion-border-radius};\n    // --accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --accordion-btn-color: #{$accordion-button-color};\n    --accordion-btn-bg: #{$accordion-button-bg};\n    --accordion-btn-icon-width: #{$accordion-icon-width};\n    --accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --accordion-body-padding-x: #{$accordion-body-padding-x};\n    --accordion-body-padding-y: #{$accordion-body-padding-y};\n    --accordion-active-color: #{$accordion-button-active-color};\n    --accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);\n    font-size: $font-size-base;\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    // @include border-radius(var(--accordion-border-radius));\n    @include transition(var(--accordion-transition));\n\n    // Hide the default marker in webkit browsers\n    // &::-webkit-details-marker {\n    //   display: none;\n    // }\n\n    // Icon styles\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-gap:                     $spacer * .75 !default;\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-border-radius:           var(--border-radius) !default;\n$alert-link-font-weight:        $font-weight-semibold !default;\n$alert-border-width:            var(--border-width) !default;\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --alert-gap: #{$alert-gap};\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: #{$alert-padding-x};\n    --alert-padding-y: #{$alert-padding-y};\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: #{$alert-border-width} solid var(--alert-border-color);\n    --alert-border-radius: #{$alert-border-radius};\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    // scss-docs-end alert-css-vars\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   clamp(12px, .75em, .75em) !default;\n$badge-font-weight:                 $font-weight-semibold !default;\n$badge-color:                       inherit !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .625em !default;\n$badge-border-radius:               var(--border-radius-lg) !default;\n// scss-docs-end badge-variables\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --badge-padding-x: #{$badge-padding-x};\n    --badge-padding-y: #{$badge-padding-y};\n    --badge-font-size: #{$badge-font-size};\n    --badge-font-weight: #{$badge-font-weight};\n    --badge-color: #{$badge-color};\n    --badge-bg: var(--bg-2);\n    --badge-border-width: #{$border-width};\n    --badge-border-color: transparent;\n    --badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size:              null !default;\n$breadcrumb-padding-y:              0 !default;\n$breadcrumb-padding-x:              0 !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--fg-4) !default;\n$breadcrumb-border-radius:          var(--border-radius) !default;\n\n$breadcrumb-link-padding-x:         .75rem !default;\n$breadcrumb-link-padding-y:         .25rem !default;\n$breadcrumb-link-color:             var(--fg-3) !default;\n$breadcrumb-link-hover-color:       var(--fg-2) !default;\n$breadcrumb-link-hover-bg:          var(--bg-1) !default;\n$breadcrumb-link-active-color:      var(--fg-1) !default;\n$breadcrumb-link-border-radius:     var(--border-radius-lg) !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    --breadcrumb-font-size: #{$breadcrumb-font-size};\n    --breadcrumb-bg: #{$breadcrumb-bg};\n    --breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --breadcrumb-link-padding-x: #{$breadcrumb-link-padding-x};\n    --breadcrumb-link-padding-y: #{$breadcrumb-link-padding-y};\n    --breadcrumb-link-color: #{$breadcrumb-link-color};\n    --breadcrumb-link-hover-color: #{$breadcrumb-link-hover-color};\n    --breadcrumb-link-hover-bg: #{$breadcrumb-link-hover-bg};\n    --breadcrumb-link-active-color: #{$breadcrumb-link-active-color};\n    --breadcrumb-link-border-radius: #{$breadcrumb-link-border-radius};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--border-width) !default;\n$card-border-color:                 var(--border-color-translucent) !default;\n$card-border-radius:                var(--border-radius-lg) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-padding-y:                $card-spacer-y * .75 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       var(--bg-1) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--bg-body) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n\n$card-body-gap:                     $card-spacer-y * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --card-spacer-y: #{$card-spacer-y};\n    --card-spacer-x: #{$card-spacer-x};\n    --card-subtitle-color: #{$card-subtitle-color};\n    --card-border-width: #{$card-border-width};\n    --card-border-color: #{$card-border-color};\n    --card-border-radius: #{$card-border-radius};\n    --card-box-shadow: #{$card-box-shadow};\n    --card-inner-border-radius: #{$card-inner-border-radius};\n    --card-cap-padding-y: #{$card-cap-padding-y};\n    --card-cap-padding-x: #{$card-cap-padding-x};\n    --card-cap-bg: #{$card-cap-bg};\n    --card-cap-color: #{$card-cap-color};\n    --card-height: #{$card-height};\n    --card-color: #{$card-color};\n    --card-bg: #{$card-bg};\n    --card-img-overlay-padding: #{$card-img-overlay-padding};\n    --card-group-margin: #{$card-group-margin};\n    --card-body-gap: #{$card-body-gap};\n    // scss-docs-end card-css-vars\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--color-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-variables\n$carousel-control-color:             $white !default;\n$carousel-control-width:             15% !default;\n$carousel-control-opacity:           .5 !default;\n$carousel-control-hover-opacity:     .9 !default;\n$carousel-control-transition:        opacity .15s ease !default;\n$carousel-control-icon-filter:       null !default;\n\n$carousel-indicator-width:           30px !default;\n$carousel-indicator-height:          3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer:          3px !default;\n$carousel-indicator-opacity:         .5 !default;\n$carousel-indicator-active-bg:       $white !default;\n$carousel-indicator-active-opacity:  1 !default;\n$carousel-indicator-transition:      opacity .6s ease !default;\n\n$carousel-caption-width:             70% !default;\n$carousel-caption-color:             $white !default;\n$carousel-caption-padding-y:         1.25rem !default;\n$carousel-caption-spacer:            1.25rem !default;\n\n$carousel-control-icon-width:        2rem !default;\n\n$carousel-control-prev-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\") !default;\n$carousel-control-next-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\") !default;\n\n$carousel-transition-duration:       .6s !default;\n$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-indicator-active-bg-dark:   $black !default;\n$carousel-caption-color-dark:         $black !default;\n$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition($carousel-transition);\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s $carousel-transition-duration);\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: $carousel-control-width;\n    padding: 0;\n    color: $carousel-control-color;\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: $carousel-control-opacity;\n    @include transition($carousel-control-transition);\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: $carousel-control-color;\n      text-decoration: none;\n      outline: 0;\n      opacity: $carousel-control-hover-opacity;\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: $carousel-control-icon-width;\n    height: $carousel-control-icon-width;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: $carousel-control-width;\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: $carousel-indicator-width;\n      height: $carousel-indicator-height;\n      padding: 0;\n      margin-inline: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: $carousel-indicator-hit-area-height solid transparent;\n      opacity: $carousel-indicator-opacity;\n      @include transition($carousel-indicator-transition);\n    }\n\n    .active {\n      opacity: $carousel-indicator-active-opacity;\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: (100% - $carousel-caption-width) * .5;\n    bottom: $carousel-caption-spacer;\n    left: (100% - $carousel-caption-width) * .5;\n    padding-top: $carousel-caption-padding-y;\n    padding-bottom: $carousel-caption-padding-y;\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --carousel-caption-color: #{$carousel-caption-color-dark};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --carousel-caption-color: #{$carousel-caption-color};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start datepicker-variables\n$datepicker-padding:                1rem !default;\n$datepicker-bg:                     var(--bg-body) !default;\n$datepicker-color:                  var(--fg-body) !default;\n$datepicker-border-color:           var(--border-color-translucent) !default;\n$datepicker-border-width:           var(--border-width) !default;\n$datepicker-border-radius:          var(--border-radius-lg) !default;\n$datepicker-box-shadow:             var(--box-shadow) !default;\n$datepicker-font-size:              var(--font-size-sm) !default;\n$datepicker-min-width:              280px !default;\n\n$datepicker-header-font-weight:     600 !default;\n$datepicker-weekday-color:          var(--fg-3) !default;\n$datepicker-day-hover-bg:           var(--bg-1) !default;\n$datepicker-day-selected-bg:        var(--primary-bg) !default;\n$datepicker-day-selected-color:     var(--primary-contrast) !default;\n$datepicker-day-today-bg:           var(--bg-2) !default;\n$datepicker-day-today-color:        var(--fg-1) !default;\n$datepicker-day-disabled-color:     var(--fg-4) !default;\n// scss-docs-end datepicker-variables\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    // scss-docs-start datepicker-css-vars\n    --datepicker-padding: #{$datepicker-padding};\n    --datepicker-bg: #{$datepicker-bg};\n    --datepicker-color: #{$datepicker-color};\n    --datepicker-border-color: #{$datepicker-border-color};\n    --datepicker-border-width: #{$datepicker-border-width};\n    --datepicker-border-radius: #{$datepicker-border-radius};\n    --datepicker-box-shadow: #{$datepicker-box-shadow};\n    --datepicker-font-size: #{$datepicker-font-size};\n    --datepicker-min-width: #{$datepicker-min-width};\n    --datepicker-zindex: #{$zindex-dropdown};\n\n    --datepicker-header-font-weight: #{$datepicker-header-font-weight};\n    --datepicker-weekday-color: #{$datepicker-weekday-color};\n    --datepicker-day-hover-bg: #{$datepicker-day-hover-bg};\n    --datepicker-day-selected-bg: #{$datepicker-day-selected-bg};\n    --datepicker-day-selected-color: #{$datepicker-day-selected-color};\n    --datepicker-day-today-bg: #{$datepicker-day-today-bg};\n    --datepicker-day-today-color: #{$datepicker-day-today-color};\n    --datepicker-day-disabled-color: #{$datepicker-day-disabled-color};\n    // scss-docs-end datepicker-css-vars\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: $border-radius;\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: $border-radius;\n    border-end-start-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: $border-radius;\n    border-end-end-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: $border-radius;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: $border-radius;\n    border-bottom-right-radius: $border-radius;\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// scss-docs-start dialog-css-vars\n$dialog-padding:                1rem !default;\n$dialog-width:                  500px !default;\n$dialog-width-sm:               280px !default;\n$dialog-width-lg:               800px !default;\n$dialog-width-xl:               1140px !default;\n$dialog-margin:                 1.75rem !default;\n$dialog-color:                  var(--fg-body) !default;\n$dialog-bg:                     var(--bg-body) !default;\n$dialog-border-color:           var(--border-color-translucent) !default;\n$dialog-border-width:           var(--border-width) !default;\n$dialog-border-radius:          var(--border-radius-lg) !default;\n$dialog-box-shadow:             var(--box-shadow-lg) !default;\n$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;\n$dialog-header-padding:         1rem !default;\n$dialog-header-border-color:    var(--border-color) !default;\n$dialog-header-border-width:    var(--border-width) !default;\n$dialog-footer-padding:         1rem !default;\n$dialog-footer-border-color:    var(--border-color) !default;\n$dialog-footer-border-width:    var(--border-width) !default;\n$dialog-footer-gap:             .5rem !default;\n// scss-docs-end dialog-css-vars\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    --dialog-padding: #{$dialog-padding};\n    --dialog-width: #{$dialog-width};\n    --dialog-margin: #{$dialog-margin};\n    --dialog-color: #{$dialog-color};\n    --dialog-bg: #{$dialog-bg};\n    --dialog-border-color: #{$dialog-border-color};\n    --dialog-border-width: #{$dialog-border-width};\n    --dialog-border-radius: #{$dialog-border-radius};\n    --dialog-box-shadow: #{$dialog-box-shadow};\n    --dialog-backdrop-bg: #{$dialog-backdrop-bg};\n    --dialog-header-padding: #{$dialog-header-padding};\n    --dialog-header-border-color: #{$dialog-header-border-color};\n    --dialog-header-border-width: #{$dialog-header-border-width};\n    --dialog-footer-padding: #{$dialog-footer-padding};\n    --dialog-footer-border-color: #{$dialog-footer-border-color};\n    --dialog-footer-border-width: #{$dialog-footer-border-width};\n    --dialog-footer-gap: #{$dialog-footer-gap};\n\n    // Reset native dialog styles\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  .dialog-sm { --dialog-width: #{$dialog-width-sm}; }\n  .dialog-lg { --dialog-width: #{$dialog-width-lg}; }\n  .dialog-xl { --dialog-width: #{$dialog-width-xl}; }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-gap:                      $spacer * .125 !default;\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                .25rem !default;\n$dropdown-padding-y:                .25rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--fg-body) !default;\n$dropdown-bg:                       var(--bg-body) !default;\n$dropdown-border-color:             var(--border-color-translucent) !default;\n$dropdown-border-radius:            var(--border-radius-lg) !default;\n$dropdown-border-width:             var(--border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-box-shadow:               var(--box-shadow) !default;\n\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .125 !default;\n$dropdown-divider-margin-x:         $spacer * .25 !default;\n\n$dropdown-link-color:               var(--fg-body) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--bg-1) !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      var(--fg-3) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer * .75 !default;\n$dropdown-item-border-radius:       var(--border-radius) !default;\n$dropdown-item-gap:                 $spacer * .5 !default;\n\n$dropdown-header-color:             var(--gray-600) !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               var(--gray-300) !default;\n$dropdown-dark-bg:                  var(--gray-900) !default;\n$dropdown-dark-border-color:        $dropdown-border-color !default;\n$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow:          null !default;\n$dropdown-dark-link-color:          $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color:    $white !default;\n$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;\n$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: var(--gray-500) !default;\n$dropdown-dark-header-color:        var(--gray-500) !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropdown {\n    position: relative;\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --dropdown-zindex: #{$zindex-dropdown};\n    --dropdown-gap: #{$dropdown-gap};\n    --dropdown-min-width: #{$dropdown-min-width};\n    --dropdown-padding-x: #{$dropdown-padding-x};\n    --dropdown-padding-y: #{$dropdown-padding-y};\n    --dropdown-spacer: #{$dropdown-spacer};\n    --dropdown-font-size: #{$dropdown-font-size};\n    --dropdown-color: #{$dropdown-color};\n    --dropdown-bg: #{$dropdown-bg};\n    --dropdown-border-color: #{$dropdown-border-color};\n    --dropdown-border-radius: #{$dropdown-border-radius};\n    --dropdown-border-width: #{$dropdown-border-width};\n    --dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --dropdown-divider-bg: #{$dropdown-divider-bg};\n    --dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --dropdown-divider-margin-x: #{$dropdown-divider-margin-x};\n    --dropdown-box-shadow: #{$dropdown-box-shadow};\n    --dropdown-link-color: #{$dropdown-link-color};\n    --dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --dropdown-item-gap: #{$dropdown-item-gap};\n    --dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --dropdown-item-border-radius: #{$dropdown-item-border-radius};\n    --dropdown-header-color: #{$dropdown-header-color};\n    --dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    @include border-radius(var(--dropdown-border-radius));\n    @include box-shadow(var(--dropdown-box-shadow));\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--dropdown-inner-border-radius));\n      }\n    }\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\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: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--dropdown-link-hover-color);\n      @include gradient-bg(var(--dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--dropdown-link-active-color);\n      @include gradient-bg(var(--dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  // Dropdown text\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --dropdown-color: #{$dropdown-dark-color};\n    --dropdown-bg: #{$dropdown-dark-bg};\n    --dropdown-border-color: #{$dropdown-dark-border-color};\n    --dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --dropdown-link-color: #{$dropdown-dark-link-color};\n    --dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n\n  // scss-docs-start dropdown-submenu\n  // Submenus\n  //\n  // Nested dropdown menus with hover/click activation and keyboard support.\n\n  .dropdown-submenu {\n    position: relative;\n\n    // Submenu trigger styling\n    > .dropdown-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    // Submenu caret indicator\n    > .dropdown-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      // RTL: flip the chevron direction\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    // Submenu positioning (set by JS via Floating UI)\n    > .dropdown-menu {\n      top: 0;\n      // Offset to align with parent item\n      margin-top: calc(-1 * var(--dropdown-padding-y));\n    }\n\n    // Hover state for submenu trigger\n    &:hover > .dropdown-item,\n    &:focus-within > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n\n    // Active/open state\n    &.show > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n  }\n  // scss-docs-end dropdown-submenu\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--color-body) !default;\n$list-group-bg:                     var(--bg-body) !default;\n$list-group-border-color:           var(--border-color) !default;\n$list-group-border-width:           var(--border-width) !default;\n$list-group-border-radius:          var(--border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n\n$list-group-hover-bg:               var(--tertiary-bg) !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         var(--secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--secondary-color) !default;\n$list-group-action-hover-color:     var(--emphasis-color) !default;\n\n$list-group-action-active-color:    var(--color-body) !default;\n$list-group-action-active-bg:       var(--secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n@layer components {\n  .list-group {\n    // scss-docs-start list-group-css-vars\n    --list-group-color: #{$list-group-color};\n    --list-group-bg: #{$list-group-bg};\n    --list-group-border-color: #{$list-group-border-color};\n    --list-group-border-width: #{$list-group-border-width};\n    --list-group-border-radius: #{$list-group-border-radius};\n    --list-group-item-padding-x: #{$list-group-item-padding-x};\n    --list-group-item-padding-y: #{$list-group-item-padding-y};\n    --list-group-action-color: #{$list-group-action-color};\n    --list-group-action-hover-color: #{$list-group-action-hover-color};\n    --list-group-action-hover-bg: #{$list-group-hover-bg};\n    --list-group-action-active-color: #{$list-group-action-active-color};\n    --list-group-action-active-bg: #{$list-group-action-active-bg};\n    --list-group-disabled-color: #{$list-group-disabled-color};\n    --list-group-disabled-bg: #{$list-group-disabled-bg};\n    --list-group-active-color: #{$list-group-active-color};\n    --list-group-active-bg: #{$list-group-active-bg};\n    --list-group-active-border-color: #{$list-group-active-border-color};\n    // scss-docs-end list-group-css-vars\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--fg-2) !default;\n$nav-link-hover-color:              var(--fg-1) !default;\n$nav-link-hover-bg:                 var(--bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--fg-4) !default;\n$nav-link-active-color:             var(--fg-body) !default;\n$nav-link-active-bg:                var(--bg-2) !default;\n\n$nav-tabs-border-color:             var(--border-color) !default;\n$nav-tabs-border-width:             var(--border-width) !default;\n$nav-tabs-border-radius:            var(--border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--border-subtle) !default;\n$nav-tabs-link-active-color:        var(--emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--bg-body) !default;\n$nav-tabs-link-active-border-color: var(--border-color) var(--border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--emphasis-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --nav-gap: #{$nav-gap};\n    --nav-link-gap: #{$nav-link-gap};\n    --nav-link-padding-x: #{$nav-link-padding-x};\n    --nav-link-padding-y: #{$nav-link-padding-y};\n    --nav-link-color: #{$nav-link-color};\n    --nav-link-hover-color: #{$nav-link-hover-color};\n    --nav-link-hover-bg: #{$nav-link-hover-bg};\n    --nav-link-active-color: #{$nav-link-active-color};\n    --nav-link-active-bg: #{$nav-link-active-bg};\n    --nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: center;\n    justify-content: center;\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--border-radius));\n    // @include font-size(var(--nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --nav-tabs-border-width: #{$nav-tabs-border-width};\n    --nav-tabs-border-color: #{$nav-tabs-border-color};\n    --nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n      border: var(--nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --nav-gap: #{$nav-underline-gap};\n    --nav-link-active-bg: transparent;\n    // --nav-underline-gap: #{$nav-underline-gap};\n    --nav-underline-border-width: #{$nav-underline-border-width};\n    --nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      var(--border-radius) !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--fg-2) !default;\n$navbar-light-hover-color:          var(--fg-1) !default;\n$navbar-light-active-color:         var(--fg) !default;\n$navbar-light-disabled-color:       var(--fg-3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba(var(--emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    --navbar-padding-x: #{if(sass($navbar-padding-x == null): 0; else: $navbar-padding-x)};\n    --navbar-padding-y: #{$navbar-padding-y};\n    --navbar-color: #{$navbar-light-color};\n    --navbar-hover-color: #{$navbar-light-hover-color};\n    --navbar-disabled-color: #{$navbar-light-disabled-color};\n    --navbar-active-color: #{$navbar-light-active-color};\n    --navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --navbar-brand-font-size: #{$navbar-brand-font-size};\n    --navbar-brand-color: #{$navbar-light-brand-color};\n    --navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --nav-link-font-size);\n    // --nav-link-font-weight: #{$nav-link-font-weight};\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--border-width) solid var(--navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--navbar-toggler-border-radius));\n    @include transition(var(--navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus-visible {\n      text-decoration: none;\n      @include focus-ring(true);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --navbar-color: #{$navbar-dark-color};\n    --navbar-hover-color: #{$navbar-dark-hover-color};\n    --navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --navbar-active-color: #{$navbar-dark-active-color};\n    --navbar-brand-color: #{$navbar-dark-brand-color};\n    --navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --offcanvas-zindex: #{$zindex-offcanvas};\n  --offcanvas-width: #{$offcanvas-horizontal-width};\n  --offcanvas-height: #{$offcanvas-vertical-height};\n  --offcanvas-padding-x: #{$offcanvas-padding-x};\n  --offcanvas-padding-y: #{$offcanvas-padding-y};\n  --offcanvas-color: #{$offcanvas-color};\n  --offcanvas-bg: #{$offcanvas-bg-color};\n  --offcanvas-border-width: #{$offcanvas-border-width};\n  --offcanvas-border-color: #{$offcanvas-border-color};\n  --offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--offcanvas-box-shadow));\n        @include transition(var(--offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--offcanvas-width);\n          border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--offcanvas-width);\n          border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start pagination-variables\n$pagination-padding-y:              .375rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n\n$pagination-font-size:              $font-size-base !default;\n\n$pagination-color:                  var(--link-color) !default;\n$pagination-bg:                     var(--bg-body) !default;\n$pagination-border-radius:          var(--border-radius) !default;\n$pagination-border-width:           var(--border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--border-color) !default;\n\n$pagination-focus-color:            var(--link-hover-color) !default;\n$pagination-focus-bg:               var(--secondary-bg) !default;\n\n$pagination-hover-color:            var(--link-hover-color) !default;\n$pagination-hover-bg:               var(--tertiary-bg) !default;\n$pagination-hover-border-color:     var(--border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color:           $component-active-color !default;\n$pagination-active-bg:              $component-active-bg !default;\n$pagination-active-border-color:    $component-active-bg !default;\n\n$pagination-disabled-color:         var(--secondary-color) !default;\n$pagination-disabled-bg:            var(--secondary-bg) !default;\n$pagination-disabled-border-color:  var(--border-color) !default;\n\n$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm:       var(--border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --pagination-padding-x: #{$padding-x};\n  --pagination-padding-y: #{$padding-y};\n  --pagination-font-size: #{$font-size};\n  --pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    // scss-docs-start pagination-css-vars\n    --pagination-padding-x: #{$pagination-padding-x};\n    --pagination-padding-y: #{$pagination-padding-y};\n    --pagination-font-size: #{$pagination-font-size};\n    --pagination-color: #{$pagination-color};\n    --pagination-bg: #{$pagination-bg};\n    --pagination-border-width: #{$pagination-border-width};\n    --pagination-border-color: #{$pagination-border-color};\n    --pagination-border-radius: #{$pagination-border-radius};\n    --pagination-hover-color: #{$pagination-hover-color};\n    --pagination-hover-bg: #{$pagination-hover-bg};\n    --pagination-hover-border-color: #{$pagination-hover-border-color};\n    --pagination-focus-color: #{$pagination-focus-color};\n    --pagination-focus-bg: #{$pagination-focus-bg};\n    --pagination-active-color: #{$pagination-active-color};\n    --pagination-active-bg: #{$pagination-active-bg};\n    --pagination-active-border-color: #{$pagination-active-border-color};\n    --pagination-disabled-color: #{$pagination-disabled-color};\n    --pagination-disabled-bg: #{$pagination-disabled-bg};\n    --pagination-disabled-border-color: #{$pagination-disabled-border-color};\n    // scss-docs-end pagination-css-vars\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: $pagination-margin-start;\n    }\n\n    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {\n      &:first-child {\n        .page-link {\n          @include border-start-radius(var(--pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--pagination-border-radius));\n        }\n      }\n    } @else {\n      // Add border-radius to all pageLinks in case they have left margin\n      .page-link {\n        @include border-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n  }\n\n  .pagination-sm {\n    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholders\n$placeholder-opacity-max:           .5 !default;\n$placeholder-opacity-min:           .2 !default;\n// scss-docs-end placeholders\n\n\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: $placeholder-opacity-max;\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: $placeholder-opacity-min;\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 var(--font-size-sm) !default;\n$popover-bg:                        var(--bg-body) !default;\n$popover-max-width:                 280px !default;\n$popover-border-width:              var(--border-width) !default;\n$popover-border-color:              var(--border-color-translucent) !default;\n$popover-border-radius:             var(--border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--bg-1) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          $spacer * .75 !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--color-body) !default;\n$popover-body-padding-y:            $spacer * .75 !default;\n$popover-body-padding-x:            $spacer !default;\n\n$popover-arrow-width:               1rem !default;\n$popover-arrow-height:              .5rem !default;\n// scss-docs-end popover-variables\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    --popover-zindex: #{$zindex-popover};\n    --popover-max-width: #{$popover-max-width};\n    --popover-font-size: #{$popover-font-size};\n    --popover-bg: #{$popover-bg};\n    --popover-border-width: #{$popover-border-width};\n    --popover-border-color: #{$popover-border-color};\n    --popover-border-radius: #{$popover-border-radius};\n    --popover-inner-border-radius: #{$popover-inner-border-radius};\n    --popover-box-shadow: #{$popover-box-shadow};\n    --popover-header-padding-x: #{$popover-header-padding-x};\n    --popover-header-padding-y: #{$popover-header-padding-y};\n    --popover-header-font-size: #{$popover-header-font-size};\n    --popover-header-color: #{$popover-header-color};\n    --popover-header-bg: #{$popover-header-bg};\n    --popover-body-padding-x: #{$popover-body-padding-x};\n    --popover-body-padding-y: #{$popover-body-padding-y};\n    --popover-body-color: #{$popover-body-color};\n    --popover-arrow-width: #{$popover-arrow-width};\n    --popover-arrow-height: #{$popover-arrow-height};\n    --popover-arrow-border: var(--popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-variables\n$progress-height:                   1rem !default;\n$progress-font-size:                $font-size-base * .75 !default;\n$progress-bg:                       var(--secondary-bg) !default;\n$progress-border-radius:            var(--border-radius) !default;\n$progress-box-shadow:               var(--box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   var(--primary-bg) !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --progress-height: #{$progress-height};\n    --progress-font-size: #{$progress-font-size};\n    --progress-bg: #{$progress-bg};\n    --progress-border-radius: #{$progress-border-radius};\n    --progress-box-shadow: #{$progress-box-shadow};\n    --progress-bar-color: #{$progress-bar-color};\n    --progress-bar-bg: #{$progress-bar-bg};\n    --progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: $progress-bar-animation-timing progress-bar-stripes;\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start spinner-variables\n$spinner-width:           2rem !default;\n$spinner-height:          $spinner-width !default;\n$spinner-vertical-align:  -.125em !default;\n$spinner-border-width:    .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm:        1rem !default;\n$spinner-height-sm:       $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n//\n// Rotating border\n//\n\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-border-width: #{$spinner-border-width};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n    --spinner-border-width: #{$spinner-border-width-sm};\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    // scss-docs-start spinner-grow-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-grow;\n    // scss-docs-end spinner-grow-css-vars\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-variables\n$toast-max-width:                   350px !default;\n$toast-padding-x:                   .75rem !default;\n$toast-padding-y:                   .5rem !default;\n$toast-font-size:                   .875rem !default;\n$toast-color:                       null !default;\n$toast-background-color:            rgba(var(--body-bg-rgb), .85) !default;\n$toast-border-width:                var(--border-width) !default;\n$toast-border-color:                var(--border-color-translucent) !default;\n$toast-border-radius:               var(--border-radius) !default;\n$toast-box-shadow:                  var(--box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--secondary-color) !default;\n$toast-header-background-color:     rgba(var(--body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n@layer components {\n  .toast {\n    // scss-docs-start toast-css-vars\n    --toast-zindex: #{$zindex-toast};\n    --toast-padding-x: #{$toast-padding-x};\n    --toast-padding-y: #{$toast-padding-y};\n    --toast-spacing: #{$toast-spacing};\n    --toast-max-width: #{$toast-max-width};\n    --toast-font-size: #{$toast-font-size};\n    --toast-color: #{$toast-color};\n    --toast-bg: #{$toast-background-color};\n    --toast-border-width: #{$toast-border-width};\n    --toast-border-color: #{$toast-border-color};\n    --toast-border-radius: #{$toast-border-radius};\n    --toast-box-shadow: #{$toast-box-shadow};\n    --toast-header-color: #{$toast-header-color};\n    --toast-header-bg: #{$toast-header-background-color};\n    --toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 55fc049081bda10e69bc2e55ad95879725458174..e4e2c0ed1522728b4a16fd912c360c4405923da0 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
       instance[method]();
     });
   };
+  const eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {
+    eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {
+      const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element));
+      if (typeof callback === 'function') {
+        callback({
+          ...data,
+          instances
+        });
+      }
+      for (const instance of instances) {
+        instance[method]();
+      }
+    });
+  };
+  const eventAction = (onEvent, stringSelector, callback) => {
+    const selector = `${stringSelector}:not(.disabled):not(:disabled)`;
+    EventHandler.on(document, onEvent, selector, function (event) {
+      if (['A', 'AREA'].includes(this.tagName)) {
+        event.preventDefault();
+      }
+      const selector = SelectorEngine.getSelectorFromElement(this);
+      const targets = selector ? SelectorEngine.find(selector) : [this];
+      callback({
+        targets,
+        event
+      });
+    });
+  };
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$f = 'alert';
-  const DATA_KEY$a = 'bs.alert';
-  const EVENT_KEY$b = `.${DATA_KEY$a}`;
-  const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-  const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
+  const NAME$j = 'alert';
+  const DATA_KEY$e = 'bs.alert';
+  const EVENT_KEY$f = `.${DATA_KEY$e}`;
+  const EVENT_CLOSE = `close${EVENT_KEY$f}`;
+  const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
   const CLASS_NAME_FADE$4 = 'fade';
   const CLASS_NAME_SHOW$7 = 'show';
 
   class Alert extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$f;
+      return NAME$j;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$e = 'button';
-  const DATA_KEY$9 = 'bs.button';
-  const EVENT_KEY$a = `.${DATA_KEY$9}`;
-  const DATA_API_KEY$6 = '.data-api';
+  const NAME$i = 'button';
+  const DATA_KEY$d = 'bs.button';
+  const EVENT_KEY$e = `.${DATA_KEY$d}`;
+  const DATA_API_KEY$9 = '.data-api';
   const CLASS_NAME_ACTIVE$3 = 'active';
-  const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="button"]';
-  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$9 = '[data-bs-toggle="button"]';
+  const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$e}${DATA_API_KEY$9}`;
 
   /**
    * Class definition
   class Button extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$e;
+      return NAME$i;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$7, event => {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$9, event => {
     event.preventDefault();
-    const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
+    const button = event.target.closest(SELECTOR_DATA_TOGGLE$9);
     const data = Button.getOrCreateInstance(button);
     data.toggle();
   });
    * Constants
    */
 
-  const NAME$d = 'swipe';
-  const EVENT_KEY$9 = '.bs.swipe';
-  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-  const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-  const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+  const NAME$h = 'swipe';
+  const EVENT_KEY$d = '.bs.swipe';
+  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
+  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
+  const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
+  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
+  const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
   const POINTER_TYPE_TOUCH = 'touch';
   const POINTER_TYPE_PEN = 'pen';
   const CLASS_NAME_POINTER_EVENT = 'pointer-event';
   const SWIPE_THRESHOLD = 40;
-  const Default$c = {
+  const Default$g = {
     endCallback: null,
     leftCallback: null,
     rightCallback: null
   };
-  const DefaultType$c = {
+  const DefaultType$g = {
     endCallback: '(function|null)',
     leftCallback: '(function|null)',
     rightCallback: '(function|null)'
 
     // Getters
     static get Default() {
-      return Default$c;
+      return Default$g;
     }
     static get DefaultType() {
-      return DefaultType$c;
+      return DefaultType$g;
     }
     static get NAME() {
-      return NAME$d;
+      return NAME$h;
     }
 
     // Public
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$9);
+      EventHandler.off(this._element, EVENT_KEY$d);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$c = 'carousel';
-  const DATA_KEY$8 = 'bs.carousel';
-  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-  const DATA_API_KEY$5 = '.data-api';
-  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
-  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+  const NAME$g = 'carousel';
+  const DATA_KEY$c = 'bs.carousel';
+  const EVENT_KEY$c = `.${DATA_KEY$c}`;
+  const DATA_API_KEY$8 = '.data-api';
+  const ARROW_LEFT_KEY$2 = 'ArrowLeft';
+  const ARROW_RIGHT_KEY$2 = 'ArrowRight';
   const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
 
   const ORDER_NEXT = 'next';
   const ORDER_PREV = 'prev';
   const DIRECTION_LEFT = 'left';
   const DIRECTION_RIGHT = 'right';
-  const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-  const EVENT_SLID = `slid${EVENT_KEY$8}`;
-  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-  const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$8}`;
-  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-  const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
+  const EVENT_SLID = `slid${EVENT_KEY$c}`;
+  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
+  const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$c}`;
+  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
+  const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
+  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$c}${DATA_API_KEY$8}`;
+  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
   const CLASS_NAME_CAROUSEL = 'carousel';
   const CLASS_NAME_ACTIVE$2 = 'active';
   const CLASS_NAME_SLIDE = 'slide';
   const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
   const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
   const KEY_TO_DIRECTION = {
-    [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
-    [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
+    [ARROW_LEFT_KEY$2]: DIRECTION_RIGHT,
+    [ARROW_RIGHT_KEY$2]: DIRECTION_LEFT
   };
-  const Default$b = {
+  const Default$f = {
     interval: 5000,
     keyboard: true,
     pause: 'hover',
     touch: true,
     wrap: true
   };
-  const DefaultType$b = {
+  const DefaultType$f = {
     interval: '(number|boolean)',
     // TODO:v6 remove boolean support
     keyboard: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$b;
+      return Default$f;
     }
     static get DefaultType() {
-      return DefaultType$b;
+      return DefaultType$f;
     }
     static get NAME() {
-      return NAME$c;
+      return NAME$g;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
       return;
    * Constants
    */
 
-  const NAME$b = 'collapse';
-  const DATA_KEY$7 = 'bs.collapse';
-  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-  const DATA_API_KEY$4 = '.data-api';
-  const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-  const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-  const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
+  const NAME$f = 'collapse';
+  const DATA_KEY$b = 'bs.collapse';
+  const EVENT_KEY$b = `.${DATA_KEY$b}`;
+  const DATA_API_KEY$7 = '.data-api';
+  const EVENT_SHOW$7 = `show${EVENT_KEY$b}`;
+  const EVENT_SHOWN$7 = `shown${EVENT_KEY$b}`;
+  const EVENT_HIDE$7 = `hide${EVENT_KEY$b}`;
+  const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$b}`;
+  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
   const CLASS_NAME_SHOW$6 = 'show';
   const CLASS_NAME_COLLAPSE = 'collapse';
   const CLASS_NAME_COLLAPSING = 'collapsing';
   const WIDTH = 'width';
   const HEIGHT = 'height';
   const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="collapse"]';
-  const Default$a = {
+  const SELECTOR_DATA_TOGGLE$8 = '[data-bs-toggle="collapse"]';
+  const Default$e = {
     parent: null,
     toggle: true
   };
-  const DefaultType$a = {
+  const DefaultType$e = {
     parent: '(null|element)',
     toggle: 'boolean'
   };
       super(element, config);
       this._isTransitioning = false;
       this._triggerArray = [];
-      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
+      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$8);
       for (const elem of toggleList) {
         const selector = SelectorEngine.getSelectorFromElement(elem);
         const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
 
     // Getters
     static get Default() {
-      return Default$a;
+      return Default$e;
     }
     static get DefaultType() {
-      return DefaultType$a;
+      return DefaultType$e;
     }
     static get NAME() {
-      return NAME$b;
+      return NAME$f;
     }
 
     // Public
       if (activeChildren.length && activeChildren[0]._isTransitioning) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
       if (startEvent.defaultPrevented) {
         return;
       }
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$6);
         this._element.style[dimension] = '';
-        EventHandler.trigger(this._element, EVENT_SHOWN$6);
+        EventHandler.trigger(this._element, EVENT_SHOWN$7);
       };
       const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
       const scrollSize = `scroll${capitalizedDimension}`;
       if (this._isTransitioning || !this._isShown()) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
       if (startEvent.defaultPrevented) {
         return;
       }
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE);
-        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+        EventHandler.trigger(this._element, EVENT_HIDDEN$7);
       };
       this._element.style[dimension] = '';
       this._queueCallback(complete, this._element, true);
       if (!this._config.parent) {
         return;
       }
-      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
+      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$8);
       for (const element of children) {
         const selected = SelectorEngine.getElementFromSelector(element);
         if (selected) {
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$6, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$8, function (event) {
     // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
     if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
       event.preventDefault();
     }
   });
 
+  /*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
+  var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values â€‹â€‹for Â«locale.weekdays» or Â«locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the Â«multiple» calendar type, the Â«displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n;},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e);},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",false),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,"cleanupHandlers",[])),e.onHide&&e.onHide(e));};function getOffset(e){if(!e||!e.getBoundingClientRect)return {top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return {bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return {vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return {left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return {top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:true,bottom:true,left:true,right:true},l=[];if(!t||!e)return {canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return [{condition:i<p,position:"top"},{condition:i>p,position:"bottom"},{condition:r<h,position:"left"},{condition:r>h,position:"right"}].forEach((({condition:e,position:t})=>{e&&l.push(t);})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date="${t}"]`),s=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const i=document.createElement("div");i.className=e.styles.datePopup,i.dataset.vcDatePopup="",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded="true",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/&nbsp;/g," ")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`});}));},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))));},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10));}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a="")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n);},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(i=e.context.disableDates)?void 0:i.includes(o))||!e.selectionMonthsMode&&"current"!==s||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),a&&updateAttribute(a,u,"aria-disabled","true"),a&&updateAttribute(a,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(l),"data-vc-date-weekend");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),a&&a.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),a&&a.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&l<a,"data-vc-date-selected","middle");}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return {year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week));},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))));},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.role="gridcell",c.ariaLabel=getLocaleString(l,i,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r);},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),"current");}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?"01":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,"next");}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,"prev");}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",a.appendChild(o);const s=document.createElement("div");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers="content",a.appendChild(s);const i=document.createElement("button");i.type="button",i.className=e.styles.weekNumber;const r=l.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const l=i.cloneNode(true);l.innerText=String(a.week),l.dataset.vcWeekNumber=String(a.week),l.dataset.vcWeekYear=String(a.year),l.role="rowheader",l.ariaLabel=`${a.week}`,s.appendChild(l);}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n);}));},layoutDefault=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,layoutMonths=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,layoutMultiple=e=>`\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,layoutYears=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" role="grid" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\[(.*?)\]/)||[])[1],l=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(l),s=o?o(e,null!=a?a:null):"";return e.sanitizerHTML(s)})).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(a)})).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e));})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),a=e.context.mainElement.querySelector('[data-vc="grid"]'),l=t.closest('[data-vc="column"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid="hidden"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]));}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])));},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?"hidden":"",t.style.visibility=a?"hidden":"";},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()<s.getFullYear()||l.getFullYear()===s.getFullYear()&&l.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c);},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s);},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})["multiple"===e.context.currentType?"default":e.context.currentType]();},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=false===d[l]||"only-arrows"===d[l];u&&(t.tabIndex=-1),t.disabled=u;},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))));},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:"[data-vc-months-month]",year:"[data-vc-years-year]"},i={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria);})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,""),t.setAttribute(i[n].aria,"true"));},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return {currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc="column"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column="${t}"]`)));return {currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(false);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role="gridcell",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled="true"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,"month",n===s,false),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m);}null==(a=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||a.focus();},TimeInput=(e,t,n,a,l)=>`\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}" ${l?"disabled":""}>\n  </label>\n`,TimeRange=(e,t,n,a,l,o,s)=>`\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${a}" max="${l}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${s}">\n  </label>\n`,handleActions=(e,t,n,a)=>{(({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)}))[a](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,false),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);},transformTime24=(e,t)=>{var n;return (null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s="AM"===e.context.selectedKeeping?"PM":"AM",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,"selectedKeeping",s),n.value=i,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,true);};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o);}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a;},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,"PM"),handleActions(e,c,transformTime12(r),l);},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l);}})[e.selectionTimeMode]();},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,true));n.value=i,t.value=i,handleActions(e,r,i,l);}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,"0");i[l]&&i[l](t,a,e);};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r);}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a);},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,"0"),r="hour"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?"AM":"PM"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value));};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o);}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),a=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),l=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time="keeping"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o);},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o);};return t.addEventListener("mouseover",i),t.addEventListener("mouseout",r),handleInput$1(e,n,l,s,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,"hour"),handleRange(e,a,o,s,"minute"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",i),t.removeEventListener("mouseout",r);}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\n      ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${i?"disabled":""}>${r}</button>`):""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${TimeRange("hour",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\n      ${TimeRange("minute",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\n    </div>\n  `),handleTime(e,t);},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),a.forEach((a=>{const l=n.cloneNode(true);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role="columnheader",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=""),t.appendChild(l);}));}));},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(false);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role="gridcell",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled="true"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,"year",n===l,false),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!l)return;const o="multiple"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement("button");s.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i);}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus();},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:true});},haveListener={value:false,set:()=>haveListener.value=true,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach((t=>setTheme(t,e.matches?"dark":"light")));};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set();},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,((e,t)=>t));if(!n||"system"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t);}))):trackChangesThemeInSystemSettings(e,t);},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light");},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=a.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o));},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=a.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o));},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)));}else {if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale));}},create=e=>{const t={default:()=>{createWeek(e),createDates(e);},multiple:()=>{createWeek(e),createDates(e);},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]();},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute("data-vc-date-btn")?7:i.hasAttribute("data-vc-months-month")?4:i.hasAttribute("data-vc-years-year")?5:1;var i;const r=(0, {ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus();};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));(({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)}))[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e);},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+a),createYears(e,t.target);}e.onClickArrow&&e.onClickArrow(e,t);}},canToggleSelection=e=>void 0===e.enableDateToggle||("function"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,"selectedDates",s);},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+"px",t.style.top=l.bottom-a.top-l.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a));},state={self:null,lastDateEl:null,isHovering:false,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach((e=>e.dataset.vcDateHover="")),t.forEach((e=>e.dataset.vcDateHover="first")),n.forEach((e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last";})));},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach((e=>e.removeAttribute("data-vc-date-hover")));},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest("[data-vc-date]");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${l}"]`),[c,d]=o<s?[i,r]:[r,i],[u,m]=o<s?[o,s]:[s,o];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d);},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t));},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=true,requestAnimationFrame((()=>{e(n),state.isHovering=false;})));},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect());},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect();}),50);},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l<n&&null===t?n:t]),[null,null]);o&&setContext(state.self,"displayDateMin",getDateString(new Date(o.setDate(o.getDate()+1)))),s&&setContext(state.self,"displayDateMax",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday);},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)));}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates);}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",s),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave);}}})[1===e.context.selectedDates.length?"set":"reset"]();},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach((t=>{const n=t.querySelector("[data-vc-date-btn]"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,"current");}));},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!l)return;const o=l.closest("[data-vc-date]");(({single:()=>handleSelectDate(e,o,false),multiple:()=>handleSelectDate(e,o,true),"multiple-ranged":()=>handleSelectDateRange(e,o)}))[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month="prev"]'),i=a.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?"prev":i?"next":"current"]();},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return "month"===e.context.currentType&&l>=0?n-l:"year"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,"year"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>l.getMonth()-o+s&&n>=l.getFullYear(),c=n<a.getFullYear(),d=n>l.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",m);},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),a=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<o.getMonth()&&l<=o.getFullYear(),r=a>s.getMonth()&&l>=s.getFullYear();setContext(e,"selectedYear",l),setContext(e,"selectedMonth",i?o.getMonth():r?s.getMonth():a);},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,a);setContext(e,"selectedYear",Number(a.dataset.vcYearsYear));},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,"selectedMonth",Number(a.dataset.vcMonthsMonth));}})[n]();(({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}))[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||l.focus()):setYearModifier(e,a,n,true,true);},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc="${n}"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc="grid"]'),c=l.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||a.focus());},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a);}));},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),a=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t);},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),a=t.target.closest('[data-vc="column"]'),l=a?a.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t);},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t);};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1);},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,"displayDateMax",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:s),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:i),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax);},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[]);},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear());};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),true}var n,a;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),true}return  false},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n);},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear());},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r="AM"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",s.padStart(2,"0")),setContext(e,"selectedMinutes",i.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`);},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e);},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=true)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates="only-first"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:true===a?r.dates:e.context.selectedDates,o){setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}});}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null);},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",true),setContext(e,"isShowInInputMode",false),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:true,month:true,dates:true,time:true,locale:true}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e);};return e.context.inputElement.addEventListener("click",t),e.context.inputElement.addEventListener("focus",t),()=>{e.context.inputElement.removeEventListener("click",t),e.context.inputElement.removeEventListener("focus",t);}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(true)),setContext(e,"isInit",true),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:true,month:true,dates:true,time:true,locale:true}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e);},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const l=n[a];"object"!=typeof e[l]||"object"!=typeof t[l]||t[l]instanceof Date||Array.isArray(t[l])?void 0!==t[l]&&(e[l]=t[l]):replaceProperties(e[l],t[l]);}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n);};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return (o&&a.bottom?"center":o&&a.top?["top","center"]:Array.isArray(l)?["bottom"===l[0]?"top":"bottom",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a="auto"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:"bottom",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e;}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`});},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",true),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput);};window.addEventListener("resize",t),e.context.cleanupHandlers.push((()=>window.removeEventListener("resize",t)));const n=t=>{"Escape"===t.key&&hide(e);};document.addEventListener("keydown",n),e.context.cleanupHandlers.push((()=>document.removeEventListener("keydown",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e);};document.addEventListener("click",a,{capture:true}),e.context.cleanupHandlers.push((()=>document.removeEventListener("click",a,{capture:true}))),e.onShow&&e.onShow(e);},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",false),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",true),__publicField(this,"displayDisabledDates",false),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",false),__publicField(this,"disableDatesPast",false),__publicField(this,"disableDatesGaps",false),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",false),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",true),__publicField(this,"enableDateToggle",true),__publicField(this,"enableWeekNumbers",false),__publicField(this,"enableMonthChangeOnDayClick",true),__publicField(this,"enableJumpToSelectedDate",false),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",true),__publicField(this,"selectionYearsMode",true),__publicField(this,"selectionTimeMode",false),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",(e=>e)),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles));}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,"init",(()=>init(this))),__publicField(this,"update",(e=>update(this,e))),__publicField(this,"destroy",(()=>destroy(this))),__publicField(this,"show",(()=>show(this))),__publicField(this,"hide",(()=>hide(this))),__publicField(this,"set",((e,t)=>set(this,e,t))),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n);}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap datepicker.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$e = 'datepicker';
+  const DATA_KEY$a = 'bs.datepicker';
+  const EVENT_KEY$a = `.${DATA_KEY$a}`;
+  const DATA_API_KEY$6 = '.data-api';
+  const EVENT_CHANGE = `change${EVENT_KEY$a}`;
+  const EVENT_SHOW$6 = `show${EVENT_KEY$a}`;
+  const EVENT_SHOWN$6 = `shown${EVENT_KEY$a}`;
+  const EVENT_HIDE$6 = `hide${EVENT_KEY$a}`;
+  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$a}`;
+  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="datepicker"]';
+  const HIDE_DELAY = 100; // ms delay before hiding after selection
+
+  const Default$d = {
+    datepickerTheme: null,
+    // 'light', 'dark', 'auto' - explicit theme for datepicker popover only
+    dateMin: null,
+    dateMax: null,
+    dateFormat: null,
+    // Intl.DateTimeFormat options, or function(date, locale) => string
+    displayElement: null,
+    // Element to show formatted date (defaults to element for buttons)
+    displayMonthsCount: 1,
+    // Number of months to display side-by-side
+    firstWeekday: 1,
+    // Monday
+    inline: false,
+    // Render calendar inline (no popup)
+    locale: 'default',
+    positionElement: null,
+    // Element to position calendar relative to (defaults to input)
+    selectedDates: [],
+    selectionMode: 'single',
+    // 'single', 'multiple', 'multiple-ranged'
+    placement: 'left',
+    // 'left', 'center', 'right', 'auto'
+    vcpOptions: {} // Pass-through for any VCP option
+  };
+  const DefaultType$d = {
+    datepickerTheme: '(null|string)',
+    dateMin: '(null|string|number|object)',
+    dateMax: '(null|string|number|object)',
+    dateFormat: '(null|object|function)',
+    displayElement: '(null|string|element|boolean)',
+    displayMonthsCount: 'number',
+    firstWeekday: 'number',
+    inline: 'boolean',
+    locale: 'string',
+    positionElement: '(null|string|element)',
+    selectedDates: 'array',
+    selectionMode: 'string',
+    placement: 'string',
+    vcpOptions: 'object'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Datepicker extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._calendar = null;
+      this._isShown = false;
+      this._initCalendar();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$d;
+    }
+    static get DefaultType() {
+      return DefaultType$d;
+    }
+    static get NAME() {
+      return NAME$e;
+    }
+
+    // Public
+    toggle() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      return this._isShown ? this.hide() : this.show();
+    }
+    show() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || isDisabled(this._element) || this._isShown) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.show();
+      this._isShown = true;
+      EventHandler.trigger(this._element, EVENT_SHOWN$6);
+    }
+    hide() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || !this._isShown) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.hide();
+      this._isShown = false;
+      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+    }
+    dispose() {
+      if (this._themeObserver) {
+        this._themeObserver.disconnect();
+        this._themeObserver = null;
+      }
+      if (this._calendar) {
+        this._calendar.destroy();
+      }
+      this._calendar = null;
+      super.dispose();
+    }
+    getSelectedDates() {
+      const dates = this._calendar?.context?.selectedDates;
+      return dates ? [...dates] : [];
+    }
+    setSelectedDates(dates) {
+      if (this._calendar) {
+        this._calendar.set({
+          selectedDates: dates
+        });
+      }
+    }
+
+    // Private
+    _initCalendar() {
+      this._isInput = this._element.tagName === 'INPUT';
+      this._isInline = this._config.inline;
+
+      // For inline mode, look for a hidden input child to bind to
+      if (this._isInline && !this._isInput) {
+        this._boundInput = this._element.querySelector('input[type="hidden"], input[name]');
+      }
+      this._positionElement = this._resolvePositionElement();
+      this._displayElement = this._resolveDisplayElement();
+      const calendarOptions = this._buildCalendarOptions();
+
+      // Create calendar on the position element (for correct popup positioning)
+      // but value updates still go to this._element (the input)
+      this._calendar = new Calendar(this._positionElement, calendarOptions);
+      this._calendar.init();
+
+      // Watch for theme changes on ancestor elements (for live theme switching)
+      this._setupThemeObserver();
+
+      // Set initial value if input has a value
+      if (this._isInput && this._element.value) {
+        this._parseInputValue();
+      }
+
+      // Populate input/display with preselected dates
+      this._updateDisplayWithSelectedDates();
+    }
+    _updateDisplayWithSelectedDates() {
+      const {
+        selectedDates
+      } = this._config;
+      if (!selectedDates || selectedDates.length === 0) {
+        return;
+      }
+      const formattedDate = this._formatDateForInput(selectedDates);
+      if (this._isInput) {
+        this._element.value = formattedDate;
+      }
+      if (this._boundInput) {
+        this._boundInput.value = selectedDates.join(',');
+      }
+      if (this._displayElement) {
+        this._displayElement.textContent = formattedDate;
+      }
+    }
+    _resolvePositionElement() {
+      let {
+        positionElement
+      } = this._config;
+      if (typeof positionElement === 'string') {
+        positionElement = document.querySelector(positionElement);
+      }
+
+      // Use input's parent if in form-adorn
+      if (!positionElement && this._isInput && !this._isInline) {
+        const parent = this._element.closest('.form-adorn');
+        if (parent) {
+          positionElement = parent;
+        }
+      }
+      return positionElement || this._element;
+    }
+    _resolveDisplayElement() {
+      const {
+        displayElement
+      } = this._config;
+      if (typeof displayElement === 'string') {
+        return document.querySelector(displayElement);
+      }
+
+      // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child
+      if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) {
+        const displayChild = this._element.querySelector('[data-bs-datepicker-display]');
+        return displayChild || this._element;
+      }
+      return displayElement;
+    }
+    _getThemeAncestor() {
+      return this._element.closest('[data-bs-theme]');
+    }
+    _getEffectiveTheme() {
+      // Priority: explicit datepickerTheme config > inherited from ancestor > none
+      const {
+        datepickerTheme
+      } = this._config;
+      if (datepickerTheme) {
+        return datepickerTheme;
+      }
+      const ancestor = this._getThemeAncestor();
+      return ancestor?.getAttribute('data-bs-theme') || null;
+    }
+    _syncThemeAttribute(element) {
+      if (!element) {
+        return;
+      }
+      const theme = this._getEffectiveTheme();
+      if (theme) {
+        // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)
+        element.setAttribute('data-bs-theme', theme);
+      } else {
+        // No theme - remove attribute to allow natural inheritance
+        element.removeAttribute('data-bs-theme');
+      }
+    }
+    _setupThemeObserver() {
+      // Watch for theme changes on ancestor elements
+      const ancestor = this._getThemeAncestor();
+      if (!ancestor || this._config.datepickerTheme) {
+        // No ancestor to watch, or explicit datepickerTheme overrides
+        return;
+      }
+      this._themeObserver = new MutationObserver(() => {
+        this._syncThemeAttribute(this._calendar?.context?.mainElement);
+      });
+      this._themeObserver.observe(ancestor, {
+        attributes: true,
+        attributeFilter: ['data-bs-theme']
+      });
+    }
+    _buildCalendarOptions() {
+      // Get theme for VCP - use 'system' for auto-detection if no explicit theme
+      const theme = this._getEffectiveTheme();
+      // VCP uses 'system' for auto, Bootstrap uses 'auto'
+      const vcpTheme = !theme || theme === 'auto' ? 'system' : theme;
+      const calendarOptions = {
+        ...this._config.vcpOptions,
+        inputMode: !this._isInline,
+        positionToInput: this._config.placement,
+        firstWeekday: this._config.firstWeekday,
+        locale: this._config.locale,
+        selectionDatesMode: this._config.selectionMode,
+        selectedDates: this._config.selectedDates,
+        displayMonthsCount: this._config.displayMonthsCount,
+        type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',
+        selectedTheme: vcpTheme,
+        themeAttrDetect: '[data-bs-theme]',
+        onClickDate: (self, event) => this._handleDateClick(self, event),
+        onInit: self => {
+          this._syncThemeAttribute(self.context.mainElement);
+        },
+        onShow: () => {
+          this._isShown = true;
+          this._syncThemeAttribute(this._calendar.context.mainElement);
+        },
+        onHide: () => {
+          this._isShown = false;
+        }
+      };
+
+      // Navigate to the month of the first selected date
+      if (this._config.selectedDates.length > 0) {
+        const firstDate = this._parseDate(this._config.selectedDates[0]);
+        calendarOptions.selectedMonth = firstDate.getMonth();
+        calendarOptions.selectedYear = firstDate.getFullYear();
+      }
+      if (this._config.dateMin) {
+        calendarOptions.dateMin = this._config.dateMin;
+      }
+      if (this._config.dateMax) {
+        calendarOptions.dateMax = this._config.dateMax;
+      }
+      return calendarOptions;
+    }
+    _handleDateClick(self, event) {
+      const selectedDates = [...self.context.selectedDates];
+      if (selectedDates.length > 0) {
+        const formattedDate = this._formatDateForInput(selectedDates);
+        if (this._isInput) {
+          this._element.value = formattedDate;
+        }
+        if (this._boundInput) {
+          this._boundInput.value = selectedDates.join(',');
+        }
+        if (this._displayElement) {
+          this._displayElement.textContent = formattedDate;
+        }
+      }
+      EventHandler.trigger(this._element, EVENT_CHANGE, {
+        dates: selectedDates,
+        event
+      });
+      this._maybeHideAfterSelection(selectedDates);
+    }
+    _maybeHideAfterSelection(selectedDates) {
+      if (this._isInline) {
+        return;
+      }
+      const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2;
+      if (shouldHide) {
+        setTimeout(() => this.hide(), HIDE_DELAY);
+      }
+    }
+    _parseDate(dateStr) {
+      const [year, month, day] = dateStr.split('-');
+      return new Date(year, month - 1, day);
+    }
+    _formatDate(dateStr) {
+      const date = this._parseDate(dateStr);
+      const locale = this._config.locale === 'default' ? undefined : this._config.locale;
+      const {
+        dateFormat
+      } = this._config;
+
+      // Custom function formatter
+      if (typeof dateFormat === 'function') {
+        return dateFormat(date, locale);
+      }
+
+      // Intl.DateTimeFormat options object
+      if (dateFormat && typeof dateFormat === 'object') {
+        return new Intl.DateTimeFormat(locale, dateFormat).format(date);
+      }
+
+      // Default: locale-aware formatting
+      return date.toLocaleDateString(locale);
+    }
+    _formatDateForInput(dates) {
+      if (dates.length === 0) {
+        return '';
+      }
+      if (dates.length === 1) {
+        return this._formatDate(dates[0]);
+      }
+
+      // For date ranges, use en-dash; for multiple dates, use comma
+      const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', ';
+      return dates.map(d => this._formatDate(d)).join(separator);
+    }
+    _parseInputValue() {
+      // Try to parse the input value as a date
+      const value = this._element.value.trim();
+      if (!value) {
+        return;
+      }
+      const date = new Date(value);
+      if (!Number.isNaN(date.getTime())) {
+        const year = date.getFullYear();
+        const month = String(date.getMonth() + 1).padStart(2, '0');
+        const day = String(date.getDate()).padStart(2, '0');
+        const formatted = `${year}-${month}-${day}`;
+        this._calendar.set({
+          selectedDates: [formatted]
+        });
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$7, function (event) {
+    // Only handle if not an input (inputs use focus)
+    // Skip inline datepickers (they're always visible)
+    if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {
+      return;
+    }
+    event.preventDefault();
+    Datepicker.getOrCreateInstance(this).toggle();
+  });
+  EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE$7, function () {
+    // Handle focus for input elements
+    if (this.tagName !== 'INPUT') {
+      return;
+    }
+    Datepicker.getOrCreateInstance(this).show();
+  });
+
+  // Auto-initialize inline datepickers on DOMContentLoaded
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$6}`, () => {
+    for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`)) {
+      Datepicker.getOrCreateInstance(element);
+    }
+  });
+
   /**
    * --------------------------------------------------------------------------
    * Bootstrap dialog.js
    * Constants
    */
 
-  const NAME$a = 'dialog';
-  const DATA_KEY$6 = 'bs.dialog';
-  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
-  const DATA_API_KEY$3 = '.data-api';
-  const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-  const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-  const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-  const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
-  const EVENT_CANCEL = `cancel${EVENT_KEY$6}`;
-  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+  const NAME$d = 'dialog';
+  const DATA_KEY$9 = 'bs.dialog';
+  const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+  const DATA_API_KEY$5 = '.data-api';
+  const EVENT_SHOW$5 = `show${EVENT_KEY$9}`;
+  const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`;
+  const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`;
+  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`;
+  const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$9}`;
+  const EVENT_CANCEL = `cancel${EVENT_KEY$9}`;
+  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
   const CLASS_NAME_STATIC = 'dialog-static';
   const CLASS_NAME_OPEN = 'dialog-open';
   const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
-  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dialog"]';
+  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="dialog"]';
   const SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)';
-  const Default$9 = {
+  const Default$c = {
     backdrop: true,
     // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
     keyboard: true,
     modal: true // true uses showModal(), false uses show() for non-modal dialogs
   };
-  const DefaultType$9 = {
+  const DefaultType$c = {
     backdrop: '(boolean|string)',
     keyboard: 'boolean',
     modal: 'boolean'
 
     // Getters
     static get Default() {
-      return Default$9;
+      return Default$c;
     }
     static get DefaultType() {
-      return DefaultType$9;
+      return DefaultType$c;
     }
     static get NAME() {
-      return NAME$a;
+      return NAME$d;
     }
 
     // Public
       this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
     }
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$6);
+      EventHandler.off(this._element, EVENT_KEY$9);
       super.dispose();
     }
     handleUpdate() {
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$5, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$6, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
    * Constants
    */
 
-  const NAME$9 = 'dropdown';
-  const DATA_KEY$5 = 'bs.dropdown';
-  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-  const DATA_API_KEY$2 = '.data-api';
+  const NAME$c = 'dropdown';
+  const DATA_KEY$8 = 'bs.dropdown';
+  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+  const DATA_API_KEY$4 = '.data-api';
   const ESCAPE_KEY$1 = 'Escape';
   const TAB_KEY$1 = 'Tab';
   const ARROW_UP_KEY$1 = 'ArrowUp';
   const ARROW_DOWN_KEY$1 = 'ArrowDown';
-  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
-
-  const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
-  const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
-  const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
-  const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
-  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`;
-  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$2}`;
-  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$2}`;
+  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
+  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+  const HOME_KEY$1 = 'Home';
+  const END_KEY$1 = 'End';
+  const ENTER_KEY = 'Enter';
+  const SPACE_KEY = ' ';
+  const RIGHT_MOUSE_BUTTON = 2;
+
+  // Hover intent delay (ms) - grace period before closing submenu
+  const SUBMENU_CLOSE_DELAY = 100;
+  const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`;
+  const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`;
+  const EVENT_SHOW$4 = `show${EVENT_KEY$8}`;
+  const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`;
+  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
+  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`;
+  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`;
   const CLASS_NAME_SHOW$5 = 'show';
-  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$5}`;
+  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
+  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$5}`;
   const SELECTOR_MENU = '.dropdown-menu';
+  const SELECTOR_SUBMENU = '.dropdown-submenu';
+  const SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item';
   const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+  const SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)';
 
-  // Default placement with RTL support
-  const DEFAULT_PLACEMENT = isRTL$1() ? 'bottom-end' : 'bottom-start';
-  const Default$8 = {
+  // Default logical placement (uses start/end which get resolved to left/right based on RTL)
+  const DEFAULT_PLACEMENT = 'bottom-start';
+  const SUBMENU_PLACEMENT = 'end-start';
+
+  // Resolve logical placement (start/end) to physical (left/right) based on RTL
+  const resolveLogicalPlacement = placement => {
+    if (isRTL$1()) {
+      // RTL: start â†’ right, end â†’ left
+      return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left');
+    }
+
+    // LTR: start â†’ left, end â†’ right
+    return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right');
+  };
+
+  // Helper for barycentric coordinate calculation (point in triangle check)
+  const triangleSign = (p1, p2, p3) => (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);
+  const Default$b = {
     autoClose: true,
     boundary: 'clippingParents',
     display: 'dynamic',
     offset: [0, 2],
     floatingConfig: null,
     placement: DEFAULT_PLACEMENT,
-    reference: 'toggle'
+    reference: 'toggle',
+    // Submenu options
+    submenuTrigger: 'both',
+    // 'click', 'hover', or 'both'
+    submenuDelay: SUBMENU_CLOSE_DELAY
   };
-  const DefaultType$8 = {
+  const DefaultType$b = {
     autoClose: '(boolean|string)',
     boundary: '(string|element)',
     display: 'string',
     offset: '(array|string|function)',
     floatingConfig: '(null|object|function)',
     placement: 'string',
-    reference: '(string|element|object)'
+    reference: '(string|element|object)',
+    submenuTrigger: 'string',
+    submenuDelay: 'number'
   };
 
   /**
       this._mediaQueryListeners = [];
       this._responsivePlacements = null;
       this._parent = this._element.parentNode; // dropdown wrapper
+      this._isSubmenu = this._parent.classList.contains('dropdown-submenu');
+      this._openSubmenus = new Map(); // Map of submenu element -> cleanup function
+      this._submenuCloseTimeouts = new Map(); // Map of submenu element -> timeout ID
+      this._hoverIntentData = null; // For safe triangle calculation
+
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
       this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
 
       // Parse responsive placements on init
       this._parseResponsivePlacements();
+
+      // Set up submenu event listeners
+      this._setupSubmenuListeners();
     }
 
     // Getters
     static get Default() {
-      return Default$8;
+      return Default$b;
     }
     static get DefaultType() {
-      return DefaultType$8;
+      return DefaultType$b;
     }
     static get NAME() {
-      return NAME$9;
+      return NAME$c;
     }
 
     // Public
         }
       }
       this._element.focus();
-      this._element.setAttribute('aria-expanded', true);
+      this._element.setAttribute('aria-expanded', 'true');
       this._menu.classList.add(CLASS_NAME_SHOW$5);
       this._element.classList.add(CLASS_NAME_SHOW$5);
+      this._parent.classList.add(CLASS_NAME_SHOW$5);
       EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
     }
     hide() {
     dispose() {
       this._disposeFloating();
       this._disposeMediaQueryListeners();
+      this._closeAllSubmenus();
+      this._clearAllSubmenuTimeouts();
       super.dispose();
     }
     update() {
         return;
       }
 
+      // Close all open submenus first
+      this._closeAllSubmenus();
+
       // If this is a touch-enabled device we remove the extra
       // empty mouseover listeners we added for iOS support
       if ('ontouchstart' in document.documentElement) {
       this._disposeFloating();
       this._menu.classList.remove(CLASS_NAME_SHOW$5);
       this._element.classList.remove(CLASS_NAME_SHOW$5);
+      this._parent.classList.remove(CLASS_NAME_SHOW$5);
       this._element.setAttribute('aria-expanded', 'false');
       Manipulator.removeDataAttribute(this._menu, 'placement');
       Manipulator.removeDataAttribute(this._menu, 'display');
       config = super._getConfig(config);
       if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
         // Floating UI virtual elements require a getBoundingClientRect method
-        throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+        throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
       }
       return config;
     }
       this._floatingCleanup = autoUpdate(referenceElement, this._menu, () => this._updateFloatingPosition(referenceElement));
     }
     async _updateFloatingPosition(referenceElement = null) {
-      // Check if menu exists and is still in the DOM
-      if (!this._menu || !this._menu.isConnected) {
+      if (!this._menu) {
         return;
       }
       if (!referenceElement) {
       const placement = this._getPlacement();
       const middleware = this._getFloatingMiddleware();
       const floatingConfig = this._getFloatingConfig(placement, middleware);
-      const {
-        x,
-        y,
-        placement: finalPlacement
-      } = await computePosition(referenceElement, this._menu, floatingConfig);
-
-      // Menu may have been disposed during the async computePosition call
-      if (!this._menu || !this._menu.isConnected) {
-        return;
-      }
-
-      // Apply position to dropdown menu
-      Object.assign(this._menu.style, {
-        position: 'absolute',
-        left: `${x}px`,
-        top: `${y}px`,
-        margin: '0'
-      });
-
-      // Set placement attribute for CSS styling
-      Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement);
+      await this._applyFloatingPosition(referenceElement, this._menu, floatingConfig.placement, floatingConfig.middleware);
     }
     _isShown() {
       return this._menu.classList.contains(CLASS_NAME_SHOW$5);
     }
     _getPlacement() {
       // If we have responsive placements, find the appropriate one for current viewport
-      if (this._responsivePlacements) {
-        return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT);
-      }
-      return this._config.placement;
+      const placement = this._responsivePlacements ? getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) : this._config.placement;
+
+      // Resolve logical placements (start/end) to physical (left/right) based on RTL
+      return resolveLogicalPlacement(placement);
     }
     _parseResponsivePlacements() {
       this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT);
     }
     _getOffset() {
       const {
-        offset
+        offset: offsetConfig
       } = this._config;
-      if (typeof offset === 'string') {
-        return offset.split(',').map(value => Number.parseInt(value, 10));
+      if (typeof offsetConfig === 'string') {
+        return offsetConfig.split(',').map(value => Number.parseInt(value, 10));
       }
-      if (typeof offset === 'function') {
+      if (typeof offsetConfig === 'function') {
         // Floating UI passes different args, adapt the interface for offset function callbacks
         return ({
           placement,
           rects
         }) => {
-          const result = offset({
+          const result = offsetConfig({
             placement,
             reference: rects.reference,
             floating: rects.floating
           return result;
         };
       }
-      return offset;
+      return offsetConfig;
     }
     _getFloatingMiddleware() {
       const offsetValue = this._getOffset();
         this._floatingCleanup = null;
       }
     }
+
+    // Shared helper for positioning any floating element
+    async _applyFloatingPosition(reference, floating, placement, middleware) {
+      if (!floating.isConnected) {
+        return null;
+      }
+      const {
+        x,
+        y,
+        placement: finalPlacement
+      } = await computePosition(reference, floating, {
+        placement,
+        middleware
+      });
+      if (!floating.isConnected) {
+        return null;
+      }
+      Object.assign(floating.style, {
+        position: 'absolute',
+        left: `${x}px`,
+        top: `${y}px`,
+        margin: '0'
+      });
+      Manipulator.setDataAttribute(floating, 'placement', finalPlacement);
+      return finalPlacement;
+    }
+
+    // -------------------------------------------------------------------------
+    // Submenu handling
+    // -------------------------------------------------------------------------
+
+    _setupSubmenuListeners() {
+      // Set up hover listeners for submenu triggers
+      if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerEnter(event);
+        });
+        EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {
+          this._onSubmenuLeave(event);
+        });
+
+        // Track mouse movement for safe triangle calculation
+        EventHandler.on(this._menu, 'mousemove', event => {
+          this._trackMousePosition(event);
+        });
+      }
+
+      // Set up click listener for submenu triggers
+      if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerClick(event);
+        });
+      }
+    }
+    _onSubmenuTriggerEnter(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Cancel any pending close timeout for this submenu
+      this._cancelSubmenuCloseTimeout(submenu);
+
+      // Close other open submenus at the same level
+      this._closeSiblingSubmenus(submenuWrapper);
+
+      // Open this submenu
+      this._openSubmenu(trigger, submenu, submenuWrapper);
+    }
+    _onSubmenuLeave(event) {
+      const submenuWrapper = event.target.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu || !this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Check if we're moving toward the submenu (safe triangle)
+      if (this._isMovingTowardSubmenu(event, submenu)) {
+        return;
+      }
+
+      // Schedule submenu close with delay
+      this._scheduleSubmenuClose(submenu, submenuWrapper);
+    }
+    _onSubmenuTriggerClick(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      event.preventDefault();
+      event.stopPropagation();
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Toggle submenu
+      if (this._openSubmenus.has(submenu)) {
+        this._closeSubmenu(submenu, submenuWrapper);
+      } else {
+        this._closeSiblingSubmenus(submenuWrapper);
+        this._openSubmenu(trigger, submenu, submenuWrapper);
+      }
+    }
+    _openSubmenu(trigger, submenu, submenuWrapper) {
+      if (this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Set ARIA attributes
+      trigger.setAttribute('aria-expanded', 'true');
+      trigger.setAttribute('aria-haspopup', 'true');
+
+      // Position and show submenu
+      submenu.classList.add(CLASS_NAME_SHOW$5);
+      submenuWrapper.classList.add(CLASS_NAME_SHOW$5);
+
+      // Set up Floating UI positioning for submenu
+      const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper);
+      this._openSubmenus.set(submenu, cleanup);
+
+      // Set up mouseenter on submenu to cancel close timeout
+      EventHandler.on(submenu, 'mouseenter', () => {
+        this._cancelSubmenuCloseTimeout(submenu);
+      });
+    }
+    _closeSubmenu(submenu, submenuWrapper) {
+      if (!this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Close any nested submenus first
+      const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, submenu);
+      for (const nested of nestedSubmenus) {
+        const nestedWrapper = nested.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(nested, nestedWrapper);
+      }
+
+      // Get the trigger
+      const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper);
+
+      // Clean up Floating UI
+      const cleanup = this._openSubmenus.get(submenu);
+      if (cleanup) {
+        cleanup();
+      }
+      this._openSubmenus.delete(submenu);
+
+      // Remove event listeners
+      EventHandler.off(submenu, 'mouseenter');
+
+      // Update ARIA and visibility
+      if (trigger) {
+        trigger.setAttribute('aria-expanded', 'false');
+      }
+      submenu.classList.remove(CLASS_NAME_SHOW$5);
+      submenuWrapper.classList.remove(CLASS_NAME_SHOW$5);
+
+      // Clear inline styles
+      submenu.style.position = '';
+      submenu.style.left = '';
+      submenu.style.top = '';
+      submenu.style.margin = '';
+    }
+    _closeAllSubmenus() {
+      for (const [submenu] of this._openSubmenus) {
+        const submenuWrapper = submenu.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(submenu, submenuWrapper);
+      }
+    }
+    _closeSiblingSubmenus(currentSubmenuWrapper) {
+      // Find all sibling submenu wrappers and close their menus
+      const parent = currentSubmenuWrapper.parentNode;
+      const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, parent);
+      for (const siblingMenu of siblingSubmenus) {
+        const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU);
+        if (siblingWrapper !== currentSubmenuWrapper) {
+          this._closeSubmenu(siblingMenu, siblingWrapper);
+        }
+      }
+    }
+    _createSubmenuFloating(trigger, submenu, submenuWrapper) {
+      const referenceElement = submenuWrapper;
+      const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT);
+      const middleware = [offset({
+        mainAxis: 0,
+        crossAxis: -4
+      }), flip({
+        fallbackPlacements: [resolveLogicalPlacement('start-start'), resolveLogicalPlacement('end-end'), resolveLogicalPlacement('start-end')]
+      }), shift({
+        padding: 8
+      })];
+      const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware);
+      updatePosition();
+      return autoUpdate(referenceElement, submenu, updatePosition);
+    }
+    _scheduleSubmenuClose(submenu, submenuWrapper) {
+      this._cancelSubmenuCloseTimeout(submenu);
+      const timeoutId = setTimeout(() => {
+        this._closeSubmenu(submenu, submenuWrapper);
+        this._submenuCloseTimeouts.delete(submenu);
+      }, this._config.submenuDelay);
+      this._submenuCloseTimeouts.set(submenu, timeoutId);
+    }
+    _cancelSubmenuCloseTimeout(submenu) {
+      const timeoutId = this._submenuCloseTimeouts.get(submenu);
+      if (timeoutId) {
+        clearTimeout(timeoutId);
+        this._submenuCloseTimeouts.delete(submenu);
+      }
+    }
+    _clearAllSubmenuTimeouts() {
+      for (const timeoutId of this._submenuCloseTimeouts.values()) {
+        clearTimeout(timeoutId);
+      }
+      this._submenuCloseTimeouts.clear();
+    }
+
+    // -------------------------------------------------------------------------
+    // Hover intent / Safe triangle
+    // -------------------------------------------------------------------------
+
+    _trackMousePosition(event) {
+      this._hoverIntentData = {
+        x: event.clientX,
+        y: event.clientY,
+        timestamp: Date.now()
+      };
+    }
+    _isMovingTowardSubmenu(event, submenu) {
+      if (!this._hoverIntentData) {
+        return false;
+      }
+      const submenuRect = submenu.getBoundingClientRect();
+      const currentPos = {
+        x: event.clientX,
+        y: event.clientY
+      };
+      const lastPos = {
+        x: this._hoverIntentData.x,
+        y: this._hoverIntentData.y
+      };
+
+      // Create a triangle from current position to submenu edges
+      // The triangle represents the "safe zone" for diagonal movement
+      const isRtl = isRTL$1();
+
+      // Determine which edge of the submenu to target based on direction
+      const targetX = isRtl ? submenuRect.right : submenuRect.left;
+      const topCorner = {
+        x: targetX,
+        y: submenuRect.top
+      };
+      const bottomCorner = {
+        x: targetX,
+        y: submenuRect.bottom
+      };
+
+      // Check if cursor is moving toward the submenu
+      // by checking if the current position is within the safe triangle
+      return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner);
+    }
+    _pointInTriangle(point, v1, v2, v3) {
+      // Barycentric coordinate method to check if point is inside triangle
+      const d1 = triangleSign(point, v1, v2);
+      const d2 = triangleSign(point, v2, v3);
+      const d3 = triangleSign(point, v3, v1);
+      const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
+      const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
+      return !(hasNeg && hasPos);
+    }
+
+    // -------------------------------------------------------------------------
+    // Keyboard navigation
+    // -------------------------------------------------------------------------
+
     _selectMenuItem({
       key,
       target
     }) {
-      const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));
+      // Get items only from the current menu level (not nested submenus)
+      // If target is inside a menu, use that menu; otherwise use the main menu
+      const currentMenu = target.closest(SELECTOR_MENU) || this._menu;
+      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
       if (!items.length) {
         return;
       }
       // allow cycling to get the last item in case key equals ARROW_UP_KEY
       getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
     }
+    _handleSubmenuKeydown(event) {
+      const {
+        key,
+        target
+      } = event;
+      const isRtl = isRTL$1();
+
+      // Determine the "enter submenu" and "exit submenu" keys based on RTL
+      const enterKey = isRtl ? ARROW_LEFT_KEY$1 : ARROW_RIGHT_KEY$1;
+      const exitKey = isRtl ? ARROW_RIGHT_KEY$1 : ARROW_LEFT_KEY$1;
+
+      // Check if target is a submenu trigger
+      const submenuWrapper = target.closest(SELECTOR_SUBMENU);
+      const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE);
+
+      // Handle Enter/Space on submenu trigger
+      if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Right arrow (or Left in RTL) - enter submenu
+      if (key === enterKey && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Left arrow (or Right in RTL) - exit submenu
+      if (key === exitKey) {
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper) {
+          event.preventDefault();
+          event.stopPropagation();
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          this._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return true;
+        }
+      }
+
+      // Handle Home/End keys
+      if (key === HOME_KEY$1 || key === END_KEY$1) {
+        event.preventDefault();
+        event.stopPropagation();
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
+        if (items.length) {
+          const targetItem = key === HOME_KEY$1 ? items[0] : items[items.length - 1];
+          targetItem.focus();
+        }
+        return true;
+      }
+      return false;
+    }
     static clearMenus(event) {
       if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
         return;
       }
     }
     static dataApiKeydownHandler(event) {
-      // If not an UP | DOWN | ESCAPE key => not a dropdown command
-      // If input/textarea && if key is other than ESCAPE => not a dropdown command
-
+      // If not a relevant key => not a dropdown command
       const isInput = /input|textarea/i.test(event.target.tagName);
       const isEscapeEvent = event.key === ESCAPE_KEY$1;
       const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);
-      if (!isUpOrDownEvent && !isEscapeEvent) {
+      const isLeftOrRightEvent = [ARROW_LEFT_KEY$1, ARROW_RIGHT_KEY$1].includes(event.key);
+      const isHomeOrEndEvent = [HOME_KEY$1, END_KEY$1].includes(event.key);
+      const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key);
+
+      // Allow Enter/Space only on submenu triggers
+      const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE);
+      if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent && !(isEnterOrSpaceEvent && isSubmenuTrigger)) {
         return;
       }
       if (isInput && !isEscapeEvent) {
         return;
       }
-      event.preventDefault();
 
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
-      const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$4) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4, event.delegateTarget.parentNode);
+      const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$5) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5, event.delegateTarget.parentNode);
+      if (!getToggleButton) {
+        return;
+      }
       const instance = Dropdown.getOrCreateInstance(getToggleButton);
+
+      // Handle submenu navigation first
+      if ((isLeftOrRightEvent || isHomeOrEndEvent || isEnterOrSpaceEvent && isSubmenuTrigger) && instance._handleSubmenuKeydown(event)) {
+        return;
+      }
+
+      // Handle Up/Down navigation
       if (isUpOrDownEvent) {
+        event.preventDefault();
         event.stopPropagation();
         instance.show();
         instance._selectMenuItem(event);
         return;
       }
-      if (instance._isShown()) {
-        // else is escape and we check if it is shown
+
+      // Handle Escape
+      if (isEscapeEvent && instance._isShown()) {
+        event.preventDefault();
         event.stopPropagation();
+
+        // If in a submenu, close just that submenu
+        const currentMenu = event.target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          instance._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return;
+        }
+
+        // Otherwise close the whole dropdown
         instance.hide();
         getToggleButton.focus();
       }
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
+  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
   EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
   EventHandler.on(document, EVENT_CLICK_DATA_API$2, Dropdown.clearMenus);
   EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
-  EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$4, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, function (event) {
     event.preventDefault();
     Dropdown.getOrCreateInstance(this).toggle();
   });
    * Constants
    */
 
-  const NAME$8 = 'backdrop';
+  const NAME$b = 'backdrop';
   const CLASS_NAME_FADE$3 = 'fade';
   const CLASS_NAME_SHOW$4 = 'show';
-  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$8}`;
-  const Default$7 = {
+  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+  const Default$a = {
     className: 'modal-backdrop',
     clickCallback: null,
     isAnimated: false,
     // if false, we use the backdrop helper without adding any element to the dom
     rootElement: 'body' // give the choice to place backdrop under different elements
   };
-  const DefaultType$7 = {
+  const DefaultType$a = {
     className: 'string',
     clickCallback: '(function|null)',
     isAnimated: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$7;
+      return Default$a;
     }
     static get DefaultType() {
-      return DefaultType$7;
+      return DefaultType$a;
     }
     static get NAME() {
-      return NAME$8;
+      return NAME$b;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$7 = 'focustrap';
-  const DATA_KEY$4 = 'bs.focustrap';
-  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
-  const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$4}`;
-  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$4}`;
+  const NAME$a = 'focustrap';
+  const DATA_KEY$7 = 'bs.focustrap';
+  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+  const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$7}`;
+  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
   const TAB_KEY = 'Tab';
   const TAB_NAV_FORWARD = 'forward';
   const TAB_NAV_BACKWARD = 'backward';
-  const Default$6 = {
+  const Default$9 = {
     autofocus: true,
     trapElement: null // The element to trap focus inside of
   };
-  const DefaultType$6 = {
+  const DefaultType$9 = {
     autofocus: 'boolean',
     trapElement: 'element'
   };
 
     // Getters
     static get Default() {
-      return Default$6;
+      return Default$9;
     }
     static get DefaultType() {
-      return DefaultType$6;
+      return DefaultType$9;
     }
     static get NAME() {
-      return NAME$7;
+      return NAME$a;
     }
 
     // Public
       if (this._config.autofocus) {
         this._config.trapElement.focus();
       }
-      EventHandler.off(document, EVENT_KEY$4); // guard against infinite focus loop
+      EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
       EventHandler.on(document, EVENT_FOCUSIN$3, event => this._handleFocusin(event));
       EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
       this._isActive = true;
         return;
       }
       this._isActive = false;
-      EventHandler.off(document, EVENT_KEY$4);
+      EventHandler.off(document, EVENT_KEY$7);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$6 = 'offcanvas';
-  const DATA_KEY$3 = 'bs.offcanvas';
-  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
-  const DATA_API_KEY$1 = '.data-api';
-  const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
+  const NAME$9 = 'offcanvas';
+  const DATA_KEY$6 = 'bs.offcanvas';
+  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+  const DATA_API_KEY$3 = '.data-api';
+  const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$6}${DATA_API_KEY$3}`;
   const ESCAPE_KEY = 'Escape';
   const CLASS_NAME_SHOW$3 = 'show';
   const CLASS_NAME_SHOWING$1 = 'showing';
   const CLASS_NAME_HIDING = 'hiding';
   const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
   const OPEN_SELECTOR = '.offcanvas.show';
-  const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
-  const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
-  const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
-  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
-  const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
-  const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
-  const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
-  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
-  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="offcanvas"]';
-  const Default$5 = {
+  const EVENT_SHOW$3 = `show${EVENT_KEY$6}`;
+  const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`;
+  const EVENT_HIDE$3 = `hide${EVENT_KEY$6}`;
+  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$6}`;
+  const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`;
+  const EVENT_RESIZE = `resize${EVENT_KEY$6}`;
+  const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="offcanvas"]';
+  const Default$8 = {
     backdrop: true,
     keyboard: true,
     scroll: false
   };
-  const DefaultType$5 = {
+  const DefaultType$8 = {
     backdrop: '(boolean|string)',
     keyboard: 'boolean',
     scroll: 'boolean'
 
     // Getters
     static get Default() {
-      return Default$5;
+      return Default$8;
     }
     static get DefaultType() {
-      return DefaultType$5;
+      return DefaultType$8;
     }
     static get NAME() {
-      return NAME$6;
+      return NAME$9;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$3, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$4, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
   });
   enableDismissTrigger(Offcanvas);
 
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap strength.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$8 = 'strength';
+  const DATA_KEY$5 = 'bs.strength';
+  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
+  const DATA_API_KEY$2 = '.data-api';
+  const EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY$5}`;
+  const SELECTOR_DATA_STRENGTH = '[data-bs-strength]';
+  const STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong'];
+  const Default$7 = {
+    input: null,
+    // Selector or element for password input
+    minLength: 8,
+    messages: {
+      weak: 'Weak',
+      fair: 'Fair',
+      good: 'Good',
+      strong: 'Strong'
+    },
+    weights: {
+      minLength: 1,
+      extraLength: 1,
+      lowercase: 1,
+      uppercase: 1,
+      numbers: 1,
+      special: 1,
+      multipleSpecial: 1,
+      longPassword: 1
+    },
+    thresholds: [2, 4, 6],
+    // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6
+    scorer: null // Custom scoring function (password) => number
+  };
+  const DefaultType$7 = {
+    input: '(string|element|null)',
+    minLength: 'number',
+    messages: 'object',
+    weights: 'object',
+    thresholds: 'array',
+    scorer: '(function|null)'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Strength extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._input = this._getInput();
+      this._segments = SelectorEngine.find('.strength-segment', this._element);
+      this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement);
+      this._currentStrength = null;
+      if (this._input) {
+        this._addEventListeners();
+        // Check initial value
+        this._evaluate();
+      }
+    }
+
+    // Getters
+    static get Default() {
+      return Default$7;
+    }
+    static get DefaultType() {
+      return DefaultType$7;
+    }
+    static get NAME() {
+      return NAME$8;
+    }
+
+    // Public
+    getStrength() {
+      return this._currentStrength;
+    }
+    evaluate() {
+      this._evaluate();
+    }
+
+    // Private
+    _getInput() {
+      if (this._config.input) {
+        return typeof this._config.input === 'string' ? SelectorEngine.findOne(this._config.input) : this._config.input;
+      }
+
+      // Look for preceding password input
+      const parent = this._element.parentElement;
+      return SelectorEngine.findOne('input[type="password"]', parent);
+    }
+    _addEventListeners() {
+      EventHandler.on(this._input, 'input', () => this._evaluate());
+      EventHandler.on(this._input, 'change', () => this._evaluate());
+    }
+    _evaluate() {
+      const password = this._input.value;
+      const score = this._calculateScore(password);
+      const strength = this._scoreToStrength(score);
+      if (strength !== this._currentStrength) {
+        this._currentStrength = strength;
+        this._updateUI(strength, score);
+        EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {
+          strength,
+          score,
+          password: password.length > 0 ? '***' : '' // Don't expose actual password
+        });
+      }
+    }
+    _calculateScore(password) {
+      if (!password) {
+        return 0;
+      }
+
+      // Use custom scorer if provided
+      if (typeof this._config.scorer === 'function') {
+        return this._config.scorer(password);
+      }
+      const {
+        weights
+      } = this._config;
+      let score = 0;
+
+      // Length scoring
+      if (password.length >= this._config.minLength) {
+        score += weights.minLength;
+      }
+      if (password.length >= this._config.minLength + 4) {
+        score += weights.extraLength;
+      }
+
+      // Character variety
+      if (/[a-z]/.test(password)) {
+        score += weights.lowercase;
+      }
+      if (/[A-Z]/.test(password)) {
+        score += weights.uppercase;
+      }
+      if (/\d/.test(password)) {
+        score += weights.numbers;
+      }
+
+      // Special characters
+      if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.special;
+      }
+
+      // Extra points for more special chars or length
+      if (/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.multipleSpecial;
+      }
+      if (password.length >= 16) {
+        score += weights.longPassword;
+      }
+      return score;
+    }
+    _scoreToStrength(score) {
+      if (score === 0) {
+        return null;
+      }
+      const [weak, fair, good] = this._config.thresholds;
+      if (score <= weak) {
+        return 'weak';
+      }
+      if (score <= fair) {
+        return 'fair';
+      }
+      if (score <= good) {
+        return 'good';
+      }
+      return 'strong';
+    }
+    _updateUI(strength) {
+      // Update data attribute on element
+      if (strength) {
+        this._element.dataset.bsStrength = strength;
+      } else {
+        delete this._element.dataset.bsStrength;
+      }
+
+      // Update segmented meter
+      const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1;
+      for (const [index, segment] of this._segments.entries()) {
+        if (index <= strengthIndex) {
+          segment.classList.add('active');
+        } else {
+          segment.classList.remove('active');
+        }
+      }
+
+      // Update text feedback
+      if (this._textElement) {
+        if (strength && this._config.messages[strength]) {
+          this._textElement.textContent = this._config.messages[strength];
+          this._textElement.dataset.bsStrength = strength;
+
+          // Also set the color via inheriting from parent or using CSS variable
+          const colorMap = {
+            weak: 'danger',
+            fair: 'warning',
+            good: 'info',
+            strong: 'success'
+          };
+          this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`);
+        } else {
+          this._textElement.textContent = '';
+          delete this._textElement.dataset.bsStrength;
+        }
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$5}${DATA_API_KEY$2}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {
+      Strength.getOrCreateInstance(element);
+    }
+  });
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap otp-input.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$7 = 'otpInput';
+  const DATA_KEY$4 = 'bs.otp-input';
+  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
+  const DATA_API_KEY$1 = '.data-api';
+  const EVENT_COMPLETE = `complete${EVENT_KEY$4}`;
+  const EVENT_INPUT = `input${EVENT_KEY$4}`;
+  const SELECTOR_DATA_OTP = '[data-bs-otp]';
+  const SELECTOR_INPUT = 'input';
+  const Default$6 = {
+    length: 6,
+    mask: false
+  };
+  const DefaultType$6 = {
+    length: 'number',
+    mask: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class OtpInput extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element);
+      this._setupInputs();
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$6;
+    }
+    static get DefaultType() {
+      return DefaultType$6;
+    }
+    static get NAME() {
+      return NAME$7;
+    }
+
+    // Public
+    getValue() {
+      return this._inputs.map(input => input.value).join('');
+    }
+    setValue(value) {
+      const chars = String(value).split('');
+      for (const [index, input] of this._inputs.entries()) {
+        input.value = chars[index] || '';
+      }
+      this._checkComplete();
+    }
+    clear() {
+      for (const input of this._inputs) {
+        input.value = '';
+      }
+      this._inputs[0]?.focus();
+    }
+    focus() {
+      // Focus first empty input, or last input if all filled
+      const emptyInput = this._inputs.find(input => !input.value);
+      if (emptyInput) {
+        emptyInput.focus();
+      } else {
+        this._inputs.at(-1)?.focus();
+      }
+    }
+
+    // Private
+    _setupInputs() {
+      for (const input of this._inputs) {
+        // Set attributes for proper OTP handling
+        input.setAttribute('maxlength', '1');
+        input.setAttribute('inputmode', 'numeric');
+        input.setAttribute('pattern', '\\d*');
+
+        // First input gets autocomplete for browser OTP autofill
+        if (input === this._inputs[0]) {
+          input.setAttribute('autocomplete', 'one-time-code');
+        } else {
+          input.setAttribute('autocomplete', 'off');
+        }
+
+        // Mask input if configured
+        if (this._config.mask) {
+          input.setAttribute('type', 'password');
+        }
+      }
+    }
+    _addEventListeners() {
+      for (const [index, input] of this._inputs.entries()) {
+        EventHandler.on(input, 'input', event => this._handleInput(event, index));
+        EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index));
+        EventHandler.on(input, 'paste', event => this._handlePaste(event));
+        EventHandler.on(input, 'focus', event => this._handleFocus(event));
+      }
+    }
+    _handleInput(event, index) {
+      const input = event.target;
+
+      // Only allow digits
+      if (!/^\d*$/.test(input.value)) {
+        input.value = input.value.replace(/\D/g, '');
+      }
+      const {
+        value
+      } = input;
+
+      // Handle multi-character input (some browsers/autofill)
+      if (value.length > 1) {
+        // Distribute characters across inputs
+        const chars = value.split('');
+        input.value = chars[0] || '';
+        for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {
+          this._inputs[index + i].value = chars[i];
+        }
+
+        // Focus appropriate input
+        const nextIndex = Math.min(index + chars.length, this._inputs.length - 1);
+        this._inputs[nextIndex].focus();
+      } else if (value && index < this._inputs.length - 1) {
+        // Auto-advance to next input
+        this._inputs[index + 1].focus();
+      }
+      EventHandler.trigger(this._element, EVENT_INPUT, {
+        value: this.getValue(),
+        index
+      });
+      this._checkComplete();
+    }
+    _handleKeydown(event, index) {
+      const {
+        key
+      } = event;
+      switch (key) {
+        case 'Backspace':
+          {
+            if (!this._inputs[index].value && index > 0) {
+              // Move to previous input and clear it
+              event.preventDefault();
+              this._inputs[index - 1].value = '';
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'Delete':
+          {
+            // Clear current and shift remaining values left
+            event.preventDefault();
+            for (let i = index; i < this._inputs.length - 1; i++) {
+              this._inputs[i].value = this._inputs[i + 1].value;
+            }
+            this._inputs.at(-1).value = '';
+            break;
+          }
+        case 'ArrowLeft':
+          {
+            if (index > 0) {
+              event.preventDefault();
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'ArrowRight':
+          {
+            if (index < this._inputs.length - 1) {
+              event.preventDefault();
+              this._inputs[index + 1].focus();
+            }
+            break;
+          }
+
+        // No default
+      }
+    }
+    _handlePaste(event) {
+      event.preventDefault();
+      const pastedData = (event.clipboardData || window.clipboardData).getData('text');
+      const digits = pastedData.replace(/\D/g, '').slice(0, this._inputs.length);
+      if (digits) {
+        this.setValue(digits);
+
+        // Focus last filled input or last input
+        const lastIndex = Math.min(digits.length, this._inputs.length) - 1;
+        this._inputs[lastIndex].focus();
+      }
+    }
+    _handleFocus(event) {
+      // Select the content on focus for easy replacement
+      event.target.select();
+    }
+    _checkComplete() {
+      const value = this.getValue();
+      const isComplete = value.length === this._inputs.length && this._inputs.every(input => input.value !== '');
+      if (isComplete) {
+        EventHandler.trigger(this._element, EVENT_COMPLETE, {
+          value
+        });
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$4}${DATA_API_KEY$1}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {
+      OtpInput.getOrCreateInstance(element);
+    }
+  });
+
   /**
    * --------------------------------------------------------------------------
    * Bootstrap util/sanitizer.js
    * Constants
    */
 
-  const NAME$5 = 'TemplateFactory';
-  const Default$4 = {
+  const NAME$6 = 'TemplateFactory';
+  const Default$5 = {
     allowList: DefaultAllowlist,
     content: {},
     // { selector : text ,  selector2 : text2 , }
     sanitizeFn: null,
     template: '<div></div>'
   };
-  const DefaultType$4 = {
+  const DefaultType$5 = {
     allowList: 'object',
     content: 'object',
     extraClass: '(string|function)',
 
     // Getters
     static get Default() {
-      return Default$4;
+      return Default$5;
     }
     static get DefaultType() {
-      return DefaultType$4;
+      return DefaultType$5;
     }
     static get NAME() {
-      return NAME$5;
+      return NAME$6;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$4 = 'tooltip';
+  const NAME$5 = 'tooltip';
   const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
   const CLASS_NAME_FADE$2 = 'fade';
   const CLASS_NAME_MODAL = 'modal';
   const CLASS_NAME_SHOW$2 = 'show';
   const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
   const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;
-  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="tooltip"]';
+  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="tooltip"]';
   const EVENT_MODAL_HIDE = 'hide.bs.modal';
   const TRIGGER_HOVER = 'hover';
   const TRIGGER_FOCUS = 'focus';
   const EVENT_SHOW$2 = 'show';
   const EVENT_SHOWN$2 = 'shown';
   const EVENT_INSERTED = 'inserted';
-  const EVENT_CLICK$2 = 'click';
+  const EVENT_CLICK$3 = 'click';
   const EVENT_FOCUSIN$2 = 'focusin';
   const EVENT_FOCUSOUT$1 = 'focusout';
   const EVENT_MOUSEENTER$1 = 'mouseenter';
     BOTTOM: 'bottom',
     LEFT: isRTL$1() ? 'right' : 'left'
   };
-  const Default$3 = {
+  const Default$4 = {
     allowList: DefaultAllowlist,
     animation: true,
     boundary: 'clippingParents',
     title: '',
     trigger: 'hover focus'
   };
-  const DefaultType$3 = {
+  const DefaultType$4 = {
     allowList: 'object',
     animation: 'boolean',
     boundary: '(string|element)',
 
     // Getters
     static get Default() {
-      return Default$3;
+      return Default$4;
     }
     static get DefaultType() {
-      return DefaultType$3;
+      return DefaultType$4;
     }
     static get NAME() {
-      return NAME$4;
+      return NAME$5;
     }
 
     // Public
       const triggers = this._config.trigger.split(' ');
       for (const trigger of triggers) {
         if (trigger === 'click') {
-          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$2), this._config.selector, event => {
+          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$3), this._config.selector, event => {
             const context = this._initializeOnDelegatedTarget(event);
             context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]);
             context.toggle();
    */
 
   const initTooltip = event => {
-    const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
+    const target = event.target.closest(SELECTOR_DATA_TOGGLE$3);
     if (!target) {
       return;
     }
       tooltip._enter();
     }
   };
-  EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$2, initTooltip);
-  EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$2, initTooltip);
+  EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$3, initTooltip);
+  EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$3, initTooltip);
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$3 = 'popover';
+  const NAME$4 = 'popover';
   const SELECTOR_TITLE = '.popover-header';
   const SELECTOR_CONTENT = '.popover-body';
-  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="popover"]';
-  const EVENT_CLICK$1 = 'click';
+  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="popover"]';
+  const EVENT_CLICK$2 = 'click';
   const EVENT_FOCUSIN$1 = 'focusin';
   const EVENT_MOUSEENTER = 'mouseenter';
-  const Default$2 = {
+  const Default$3 = {
     ...Tooltip.Default,
     content: '',
     offset: [0, 8],
     template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
     trigger: 'click'
   };
-  const DefaultType$2 = {
+  const DefaultType$3 = {
     ...Tooltip.DefaultType,
     content: '(null|string|element|function)'
   };
   class Popover extends Tooltip {
     // Getters
     static get Default() {
-      return Default$2;
+      return Default$3;
     }
     static get DefaultType() {
-      return DefaultType$2;
+      return DefaultType$3;
     }
     static get NAME() {
-      return NAME$3;
+      return NAME$4;
     }
 
     // Overrides
    */
 
   const initPopover = event => {
-    const target = event.target.closest(SELECTOR_DATA_TOGGLE$1);
+    const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
     if (!target) {
       return;
     }
   };
 
   // Support click (default), hover, and focus triggers
-  EventHandler.on(document, EVENT_CLICK$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-  EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-  EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$1, initPopover);
+  EventHandler.on(document, EVENT_CLICK$2, SELECTOR_DATA_TOGGLE$2, initPopover);
+  EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$2, initPopover);
+  EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$2, initPopover);
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$2 = 'scrollspy';
-  const DATA_KEY$2 = 'bs.scrollspy';
-  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+  const NAME$3 = 'scrollspy';
+  const DATA_KEY$3 = 'bs.scrollspy';
+  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
   const DATA_API_KEY = '.data-api';
-  const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
-  const EVENT_CLICK = `click${EVENT_KEY$2}`;
-  const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
+  const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
+  const EVENT_CLICK$1 = `click${EVENT_KEY$3}`;
+  const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$3}${DATA_API_KEY}`;
   const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
   const CLASS_NAME_ACTIVE$1 = 'active';
   const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
   const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
   const SELECTOR_DROPDOWN = '.dropdown';
   const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
-  const Default$1 = {
+  const Default$2 = {
     offset: null,
     // TODO: v6 @deprecated, keep it for backwards compatibility reasons
     rootMargin: '0px 0px -25%',
     target: null,
     threshold: [0.1, 0.5, 1]
   };
-  const DefaultType$1 = {
+  const DefaultType$2 = {
     offset: '(number|null)',
     // TODO v6 @deprecated, keep it for backwards compatibility reasons
     rootMargin: 'string',
 
     // Getters
     static get Default() {
-      return Default$1;
+      return Default$2;
     }
     static get DefaultType() {
-      return DefaultType$1;
+      return DefaultType$2;
     }
     static get NAME() {
-      return NAME$2;
+      return NAME$3;
     }
 
     // Public
       }
 
       // unregister any previous listeners
-      EventHandler.off(this._config.target, EVENT_CLICK);
-      EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
+      EventHandler.off(this._config.target, EVENT_CLICK$1);
+      EventHandler.on(this._config.target, EVENT_CLICK$1, SELECTOR_TARGET_LINKS, event => {
         const observableSection = this._observableSections.get(event.target.hash);
         if (observableSection) {
           event.preventDefault();
    * Constants
    */
 
-  const NAME$1 = 'tab';
-  const DATA_KEY$1 = 'bs.tab';
-  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
-  const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;
-  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;
-  const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;
-  const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;
-  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;
-  const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;
-  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;
+  const NAME$2 = 'tab';
+  const DATA_KEY$2 = 'bs.tab';
+  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+  const EVENT_HIDE$1 = `hide${EVENT_KEY$2}`;
+  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$2}`;
+  const EVENT_SHOW$1 = `show${EVENT_KEY$2}`;
+  const EVENT_SHOWN$1 = `shown${EVENT_KEY$2}`;
+  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$2}`;
+  const EVENT_KEYDOWN = `keydown${EVENT_KEY$2}`;
+  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$2}`;
   const ARROW_LEFT_KEY = 'ArrowLeft';
   const ARROW_RIGHT_KEY = 'ArrowRight';
   const ARROW_UP_KEY = 'ArrowUp';
   const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
   const SELECTOR_OUTER = '.nav-item, .list-group-item';
   const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
-  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
-  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
+  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
+  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`;
   const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
 
   /**
 
     // Getters
     static get NAME() {
-      return NAME$1;
+      return NAME$2;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE$1, function (event) {
     if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
     }
    * Constants
    */
 
-  const NAME = 'toast';
-  const DATA_KEY = 'bs.toast';
-  const EVENT_KEY = `.${DATA_KEY}`;
-  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
-  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
-  const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
-  const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
-  const EVENT_HIDE = `hide${EVENT_KEY}`;
-  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
-  const EVENT_SHOW = `show${EVENT_KEY}`;
-  const EVENT_SHOWN = `shown${EVENT_KEY}`;
+  const NAME$1 = 'toast';
+  const DATA_KEY$1 = 'bs.toast';
+  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
+  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY$1}`;
+  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY$1}`;
+  const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`;
+  const EVENT_FOCUSOUT = `focusout${EVENT_KEY$1}`;
+  const EVENT_HIDE = `hide${EVENT_KEY$1}`;
+  const EVENT_HIDDEN = `hidden${EVENT_KEY$1}`;
+  const EVENT_SHOW = `show${EVENT_KEY$1}`;
+  const EVENT_SHOWN = `shown${EVENT_KEY$1}`;
   const CLASS_NAME_FADE = 'fade';
   const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility
   const CLASS_NAME_SHOW = 'show';
   const CLASS_NAME_SHOWING = 'showing';
-  const DefaultType = {
+  const DefaultType$1 = {
     animation: 'boolean',
     autohide: 'boolean',
     delay: 'number'
   };
-  const Default = {
+  const Default$1 = {
     animation: true,
     autohide: true,
     delay: 5000
 
     // Getters
     static get Default() {
-      return Default;
+      return Default$1;
     }
     static get DefaultType() {
-      return DefaultType;
+      return DefaultType$1;
     }
     static get NAME() {
-      return NAME;
+      return NAME$1;
     }
 
     // Public
 
   enableDismissTrigger(Toast);
 
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap toggler.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'toggler';
+  const DATA_KEY = 'bs.toggler';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const EVENT_TOGGLE = `toggle${EVENT_KEY}`;
+  const EVENT_TOGGLED = `toggled${EVENT_KEY}`;
+  const EVENT_CLICK = 'click';
+  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="toggler"]';
+  const DefaultType = {
+    attribute: 'string',
+    value: '(string|number|boolean)'
+  };
+  const Default = {
+    attribute: 'class',
+    value: null
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Toggler extends BaseComponent {
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    toggle() {
+      const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE);
+      if (toggleEvent.defaultPrevented) {
+        return;
+      }
+      this._execute();
+      EventHandler.trigger(this._element, EVENT_TOGGLED);
+    }
+
+    // Private
+    _execute() {
+      const {
+        attribute,
+        value
+      } = this._config;
+      if (attribute === 'id') {
+        return; // You have to be kidding
+      }
+      if (attribute === 'class') {
+        this._element.classList.toggle(value);
+        return;
+      }
+
+      // Compare as strings since getAttribute() always returns a string
+      if (this._element.getAttribute(attribute) === String(value)) {
+        this._element.removeAttribute(attribute);
+        return;
+      }
+      this._element.setAttribute(attribute, value);
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
+
   /**
    * --------------------------------------------------------------------------
    * Bootstrap index.umd.js
     Button,
     Carousel,
     Collapse,
+    Datepicker,
     Dialog,
     Dropdown,
     Offcanvas,
+    Strength,
+    OtpInput,
     Popover,
     ScrollSpy,
     Tab,
     Toast,
+    Toggler,
     Tooltip
   };
 
index f04ad3cfb1489abc66c27bb6745a8b9229eae010..0a26ca3cdfda33487dc2c2aaf2d18f3d445bf953 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","data","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showEvent","showModal","body","hideEvent","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","autoClose","boundary","display","floatingConfig","reference","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","referenceElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","assign","position","left","top","margin","_setupMediaQueryListeners","_getOffset","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","right","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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","x_google_ignoreList":[14,15,16,17]}
\ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values â€‹â€‹for Â«locale.weekdays» or Â«locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the Â«multiple» calendar type, the Â«displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return{top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!t||!e)return{canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return[{condition:i<p,position:\"top\"},{condition:i>p,position:\"bottom\"},{condition:r<h,position:\"left\"},{condition:r>h,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&l.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==o?void 0:o.querySelector(\"[data-vc-date-btn]\");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(i=e.context.disableDates)?void 0:i.includes(o))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(l),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(o),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===o?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&l<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),(\"current\"===o||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.role=\"gridcell\",c.ariaLabel=getLocaleString(l,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?\"01\":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,\"prev\")}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const o=document.createElement(\"b\");o.className=e.styles.weekNumbersTitle,o.innerText=\"#\",o.dataset.vcWeekNumbers=\"title\",a.appendChild(o);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=l.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const l=i.cloneNode(!0);l.innerText=String(a.week),l.dataset.vcWeekNumber=String(a.week),l.dataset.vcWeekYear=String(a.year),l.role=\"rowheader\",l.ariaLabel=`${a.week}`,s.appendChild(l)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],l=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),o=getComponent(l),s=o?o(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),l=t.closest('[data-vc=\"column\"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid=\"hidden\"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()<s.getFullYear()||l.getFullYear()===s.getFullYear()&&l.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[l]||\"only-arrows\"===d[l];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled=\"true\"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,l)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${l?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,l,o,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${l}\" step=\"${o}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,o,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener(\"click\",o),()=>{t.removeEventListener(\"click\",o)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),l)},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,l)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[l]&&i[l](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",o),()=>{t.removeEventListener(\"input\",o)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),l=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),o=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,l,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,\"hour\"),handleRange(e,a,o,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const l=n.cloneNode(!0);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role=\"columnheader\",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=\"\"),t.appendChild(l)}))}))},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role=\"gridcell\",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled=\"true\"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,\"year\",n===l,!1),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!l)return;const o=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},canToggleSelection=e=>void 0===e.enableDateToggle||(\"function\"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest(\"[data-vc-date][data-vc-date-selected]\"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+\"px\",t.style.top=l.bottom-a.top-l.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${l}\"]`),[c,d]=o<s?[i,r]:[r,i],[u,m]=o<s?[o,s]:[s,o];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l<n&&null===t?n:t]),[null,null]);o&&setContext(state.self,\"displayDateMin\",getDateString(new Date(o.setDate(o.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!l)return;const o=l.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return\"month\"===e.context.currentType&&l>=0?n-l:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>l.getMonth()-o+s&&n>=l.getFullYear(),c=n<a.getFullYear(),d=n>l.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<o.getMonth()&&l<=o.getFullYear(),r=a>s.getMonth()&&l>=s.getFullYear();setContext(e,\"selectedYear\",l),setContext(e,\"selectedMonth\",i?o.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||l.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc=\"grid\"]'),c=l.closest('[data-vc=\"column\"]');(e.context.currentType===n&&o||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),l=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,\"displayDateMax\",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r=\"AM\"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,o){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};return e.context.inputElement.addEventListener(\"click\",t),e.context.inputElement.addEventListener(\"focus\",t),()=>{e.context.inputElement.removeEventListener(\"click\",t),e.context.inputElement.removeEventListener(\"focus\",t)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const l=n[a];\"object\"!=typeof e[l]||\"object\"!=typeof t[l]||t[l]instanceof Date||Array.isArray(t[l])?void 0!==t[l]&&(e[l]=t[l]):replaceProperties(e[l],t[l])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return(o&&a.bottom?\"center\":o&&a.top?[\"top\",\"center\"]:Array.isArray(l)?[\"bottom\"===l[0]?\"top\":\"bottom\",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,16,17,18,19]}
\ No newline at end of file
index 32b935f18cb798a725d6b715e49593cbd076c388..12a07431e5de2825f8ff5f3ab29987365e3440e4 100644 (file)
@@ -1,7 +1,9 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,function(){"use strict";const t=new Map,e={set(e,n,i){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(n)||0===s.size?s.set(n,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,n)=>t.has(e)&&t.get(e).get(n)||null,remove(e,n){if(!t.has(e))return;const i=t.get(e);i.delete(n),0===i.size&&t.delete(e)}},n=/[^.]*(?=\..*)\.|.*/,i=/\..*/,s=/::\d+$/,o={};let r=1;const l={mouseenter:"mouseover",mouseleave:"mouseout"},a=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function c(t,e){return e&&`${e}::${r++}`||t.uidEvent||r++}function h(t){const e=c(t);return t.uidEvent=e,o[e]=o[e]||{},o[e]}function u(t,e,n=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===n)}function d(t,e,n){const s="string"==typeof e,o=s?n:e||n;let r=(c=(c=t).replace(i,""),l[c]||c);var c;return a.has(r)||(r=t),[s,o,r]}function f(t,e,i,s,o){if("string"!=typeof e||!t)return;let[r,a,f]=d(e,i,s);if(e in l){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};a=t(a)}const g=h(t),m=g[f]||(g[f]={}),b=u(m,a,r?i:null);if(b)return void(b.oneOff=b.oneOff&&o);const v=c(a,e.replace(n,"")),y=r?function(t,e,n){return function i(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const l of o)if(l===r)return p(s,{delegateTarget:r}),i.oneOff&&_.off(t,s.type,e,n),n.apply(r,[s])}}(t,i,a):function(t,e){return function n(i){return p(i,{delegateTarget:t}),n.oneOff&&_.off(t,i.type,e),e.apply(t,[i])}}(t,a);y.delegationSelector=r?i:null,y.callable=a,y.oneOff=o,y.uidEvent=v,m[v]=y,t.addEventListener(f,y,r)}function g(t,e,n,i,s){const o=u(e[n],i,s);o&&(t.removeEventListener(n,o,Boolean(s)),delete e[n][o.uidEvent])}function m(t,e,n,i){const s=e[n]||{};for(const[o,r]of Object.entries(s))o.includes(i)&&g(t,e,n,r.callable,r.delegationSelector)}const _={on(t,e,n,i){f(t,e,n,i,!1)},one(t,e,n,i){f(t,e,n,i,!0)},off(t,e,n,i){if("string"!=typeof e||!t)return;const[o,r,l]=d(e,n,i),a=l!==e,c=h(t),u=c[l]||{},f=e.startsWith(".");if(void 0===r){if(f)for(const n of Object.keys(c))m(t,c,n,e.slice(1));for(const[n,i]of Object.entries(u)){const o=n.replace(s,"");a&&!e.includes(o)||g(t,c,l,i.callable,i.delegationSelector)}}else{if(!Object.keys(u).length)return;g(t,c,l,r,o?n:null)}},trigger(t,e,n){if("string"!=typeof e||!t)return null;const i=p(new Event(e,{bubbles:!0,cancelable:!0}),n);return t.dispatchEvent(i),i}};function p(t,e={}){for(const[n,i]of Object.entries(e))try{t[n]=i}catch{Object.defineProperty(t,n,{configurable:!0,get:()=>i})}return t}function b(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch{return t}}function v(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const y={setDataAttribute(t,e,n){t.setAttribute(`data-bs-${v(e)}`,n)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${v(e)}`)},getDataAttributes(t){if(!t)return{};const e={},n=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),e[n]=b(t.dataset[i])}return e},getDataAttribute:(t,e)=>b(t.getAttribute(`data-bs-${v(e)}`))},w="transitionend",A=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),E=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),C=t=>{t.dispatchEvent(new Event(w))},T=t=>!(!t||"object"!=typeof t)&&void 0!==t.nodeType,x=t=>T(t)?t:"string"==typeof t&&t.length>0?document.querySelector(A(t)):null,L=t=>{if(!T(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),n=t.closest("details:not([open])");if(!n)return e;if(n!==t){const e=t.closest("summary");if(e&&e.parentNode!==n)return!1;if(null===e)return!1}return e},k=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),S=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?S(t.parentNode):null},D=()=>{},$=t=>{t.offsetHeight},O=()=>"rtl"===document.documentElement.dir,P=(t,e=[],n=t)=>"function"==typeof t?t.call(...e):n,F=(t,e,n=!0)=>{if(!n)return void P(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:n}=window.getComputedStyle(t);const i=Number.parseFloat(e),s=Number.parseFloat(n);return i||s?(e=e.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(n))):0})(e)+5;let s=!1;const o=({target:n})=>{n===e&&(s=!0,e.removeEventListener(w,o),P(t))};e.addEventListener(w,o),setTimeout(()=>{s||C(e)},i)},I=(t,e,n,i)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!n&&i?t[s-1]:t[0]:(o+=n?1:-1,i&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])};class M{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const n=T(e)?y.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...T(e)?y.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,i]of Object.entries(e)){const e=t[n],s=T(e)?"element":E(e);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}class N extends M{constructor(t,n){super(),(t=x(t))&&(this._element=t,this._config=this._getConfig(n),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),_.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,n=!0){F(t,e,n)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(x(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let n=t.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),e=n&&"#"!==n?n.trim():null}return e?e.split(",").map(t=>A(t)).join(","):null},j={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const n=[];let i=t.parentNode.closest(e);for(;i;)n.push(i),i=i.parentNode.closest(e);return n},prev(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return[n];n=n.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!k(t)&&L(t))},getSelectorFromElement(t){const e=R(t);return e&&j.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?j.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?j.find(e):[]}},H=(t,e="hide")=>{const n=`click.dismiss${t.EVENT_KEY}`,i=t.NAME;_.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),k(this))return;const s=j.getElementFromSelector(this)||this.closest(`.${i}`);t.getOrCreateInstance(s)[e]()})},z=".bs.alert",W=`close${z}`,B=`closed${z}`;class q extends N{static get NAME(){return"alert"}close(){if(_.trigger(this._element,W).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),_.trigger(this._element,B),this.dispose()}}H(q,"close");const V='[data-bs-toggle="button"]';class K extends N{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}_.on(document,"click.bs.button.data-api",V,t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()});const Q=".bs.swipe",X=`touchstart${Q}`,U=`touchmove${Q}`,Y=`touchend${Q}`,G=`pointerdown${Q}`,J=`pointerup${Q}`,Z={endCallback:null,leftCallback:null,rightCallback:null},tt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class et extends M{constructor(t,e){super(),this._element=t,t&&et.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Z}static get DefaultType(){return tt}static get NAME(){return"swipe"}dispose(){_.off(this._element,Q)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),P(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&P(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(_.on(this._element,G,t=>this._start(t)),_.on(this._element,J,t=>this._end(t)),this._element.classList.add("pointer-event")):(_.on(this._element,X,t=>this._start(t)),_.on(this._element,U,t=>this._move(t)),_.on(this._element,Y,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const nt=".bs.carousel",it=".data-api",st="ArrowLeft",ot="ArrowRight",rt="next",lt="prev",at="left",ct="right",ht=`slide${nt}`,ut=`slid${nt}`,dt=`keydown${nt}`,ft=`mouseenter${nt}`,gt=`mouseleave${nt}`,mt=`dragstart${nt}`,_t=`load${nt}${it}`,pt=`click${nt}${it}`,bt="carousel",vt="active",yt=".active",wt=".carousel-item",At=yt+wt,Et={[st]:ct,[ot]:at},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Tt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends N{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=j.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===bt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Tt}static get NAME(){return"carousel"}next(){this._slide(rt)}nextWhenVisible(){!document.hidden&&L(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&C(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?_.one(this._element,ut,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void _.one(this._element,ut,()=>this.to(t));const n=this._getItemIndex(this._getActive());if(n===t)return;const i=t>n?rt:lt;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&_.on(this._element,dt,t=>this._keydown(t)),"hover"===this._config.pause&&(_.on(this._element,ft,()=>this.pause()),_.on(this._element,gt,()=>this._maybeEnableCycle())),this._config.touch&&et.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of j.find(".carousel-item img",this._element))_.on(t,mt,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(at)),rightCallback:()=>this._slide(this._directionToOrder(ct)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new et(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Et[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=j.findOne(yt,this._indicatorsElement);e.classList.remove(vt),e.removeAttribute("aria-current");const n=j.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);n&&(n.classList.add(vt),n.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const n=this._getActive(),i=t===rt,s=e||I(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),r=e=>_.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(n),to:o});if(r(ht).defaultPrevented)return;if(!n||!s)return;const l=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const a=i?"carousel-item-start":"carousel-item-end",c=i?"carousel-item-next":"carousel-item-prev";s.classList.add(c),$(s),n.classList.add(a),s.classList.add(a),this._queueCallback(()=>{s.classList.remove(a,c),s.classList.add(vt),n.classList.remove(vt,c,a),this._isSliding=!1,r(ut)},n,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return j.findOne(At,this._element)}_getItems(){return j.find(wt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return O()?t===at?lt:rt:t===at?rt:lt}_orderToDirection(t){return O()?t===lt?at:ct:t===lt?ct:at}}_.on(document,pt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=j.getElementFromSelector(this);if(!e||!e.classList.contains(bt))return;t.preventDefault();const n=xt.getOrCreateInstance(e),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===y.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),_.on(window,_t,()=>{const t=j.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)});const Lt=".bs.collapse",kt=`show${Lt}`,St=`shown${Lt}`,Dt=`hide${Lt}`,$t=`hidden${Lt}`,Ot=`click${Lt}.data-api`,Pt="show",Ft="collapse",It="collapsing",Mt=`:scope .${Ft} .${Ft}`,Nt='[data-bs-toggle="collapse"]',Rt={parent:null,toggle:!0},jt={parent:"(null|element)",toggle:"boolean"};class Ht extends N{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=j.find(Nt);for(const t of n){const e=j.getSelectorFromElement(t),n=j.find(e).filter(t=>t===this._element);null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Rt}static get DefaultType(){return jt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>Ht.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(_.trigger(this._element,kt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(It),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(It),this._element.classList.add(Ft,Pt),this._element.style[e]="",_.trigger(this._element,St)},this._element,!0),this._element.style[e]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(_.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,$(this._element),this._element.classList.add(It),this._element.classList.remove(Ft,Pt);for(const t of this._triggerArray){const e=j.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(It),this._element.classList.add(Ft),_.trigger(this._element,$t)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(Pt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=x(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Nt);for(const e of t){const t=j.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=j.find(Mt,this._config.parent);return j.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const n of t)n.classList.toggle("collapsed",!e),n.setAttribute("aria-expanded",e)}}_.on(document,Ot,Nt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of j.getMultipleElementsFromSelector(this))Ht.getOrCreateInstance(t,{toggle:!1}).toggle()});const zt=".bs.dialog",Wt=`show${zt}`,Bt=`shown${zt}`,qt=`hide${zt}`,Vt=`hidden${zt}`,Kt=`hidePrevented${zt}`,Qt=`cancel${zt}`,Xt=`click${zt}.data-api`,Ut="dialog-static",Yt="dialog-open",Gt="dialog-nonmodal",Jt={backdrop:!0,keyboard:!0,modal:!0},Zt={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class te extends N{constructor(t,e){super(t,e),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Jt}static get DefaultType(){return Zt}static get NAME(){return"dialog"}toggle(t){return this._element.open?this.hide():this.show(t)}show(t){this._element.open||this._isTransitioning||_.trigger(this._element,Wt,{relatedTarget:t}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add(Yt)):(this._element.classList.add(Gt),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,_.trigger(this._element,Bt,{relatedTarget:t})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(_.trigger(this._element,qt).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){_.off(this._element,zt),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove(Gt),this._isTransitioning=!1,document.querySelector("dialog.dialog[open]:not(.dialog-nonmodal)")||document.body.classList.remove(Yt),_.trigger(this._element,Vt)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){_.trigger(this._element,Kt).defaultPrevented||(this._element.classList.add(Ut),this._queueCallback(()=>{this._element.classList.remove(Ut)},this._element))}_addEventListeners(){_.on(this._element,"cancel",t=>{t.preventDefault(),this._config.keyboard?(_.trigger(this._element,Qt),this.hide()):this._triggerBackdropTransition()}),_.on(this._element,"keydown",t=>{"Escape"!==t.key||this._config.modal||(t.preventDefault(),this._config.keyboard&&(_.trigger(this._element,Qt),this.hide()))}),_.on(this._element,"click",t=>{t.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}_.on(document,Xt,'[data-bs-toggle="dialog"]',function(t){const e=j.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),_.one(e,Wt,t=>{t.defaultPrevented||_.one(e,Vt,()=>{L(this)&&this.focus()})});const n=y.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==e){te.getOrCreateInstance(e,n).show(this);const t=te.getInstance(i);return void(t&&t.hide())}te.getOrCreateInstance(e,n).toggle(this)}),H(te);const ee=Math.min,ne=Math.max,ie=Math.round,se=Math.floor,oe=t=>({x:t,y:t}),re={left:"right",right:"left",bottom:"top",top:"bottom"},le={start:"end",end:"start"};function ae(t,e,n){return ne(t,ee(e,n))}function ce(t,e){return"function"==typeof t?t(e):t}function he(t){return t.split("-")[0]}function ue(t){return t.split("-")[1]}function de(t){return"x"===t?"y":"x"}function fe(t){return"y"===t?"height":"width"}const ge=new Set(["top","bottom"]);function me(t){return ge.has(he(t))?"y":"x"}function _e(t){return de(me(t))}function pe(t){return t.replace(/start|end/g,t=>le[t])}const be=["left","right"],ve=["right","left"],ye=["top","bottom"],we=["bottom","top"];function Ae(t){return t.replace(/left|right|bottom|top/g,t=>re[t])}function Ee(t){return"number"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function Ce(t){const{x:e,y:n,width:i,height:s}=t;return{width:i,height:s,top:n,left:e,right:e+i,bottom:n+s,x:e,y:n}}function Te(t,e,n){let{reference:i,floating:s}=t;const o=me(e),r=_e(e),l=fe(r),a=he(e),c="y"===o,h=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2,d=i[l]/2-s[l]/2;let f;switch(a){case"top":f={x:h,y:i.y-s.height};break;case"bottom":f={x:h,y:i.y+i.height};break;case"right":f={x:i.x+i.width,y:u};break;case"left":f={x:i.x-s.width,y:u};break;default:f={x:i.x,y:i.y}}switch(ue(e)){case"start":f[r]-=d*(n&&c?-1:1);break;case"end":f[r]+=d*(n&&c?-1:1)}return f}async function xe(t,e){var n;void 0===e&&(e={});const{x:i,y:s,platform:o,rects:r,elements:l,strategy:a}=t,{boundary:c="clippingAncestors",rootBoundary:h="viewport",elementContext:u="floating",altBoundary:d=!1,padding:f=0}=ce(e,t),g=Ee(f),m=l[d?"floating"===u?"reference":"floating":u],_=Ce(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(m)))||n?m:m.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:c,rootBoundary:h,strategy:a})),p="floating"===u?{x:i,y:s,width:r.floating.width,height:r.floating.height}:r.reference,b=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),v=await(null==o.isElement?void 0:o.isElement(b))&&await(null==o.getScale?void 0:o.getScale(b))||{x:1,y:1},y=Ce(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:p,offsetParent:b,strategy:a}):p);return{top:(_.top-y.top+g.top)/v.y,bottom:(y.bottom-_.bottom+g.bottom)/v.y,left:(_.left-y.left+g.left)/v.x,right:(y.right-_.right+g.right)/v.x}}const Le=new Set(["left","top"]);function ke(){return"undefined"!=typeof window}function Se(t){return Oe(t)?(t.nodeName||"").toLowerCase():"#document"}function De(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function $e(t){var e;return null==(e=(Oe(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function Oe(t){return!!ke()&&(t instanceof Node||t instanceof De(t).Node)}function Pe(t){return!!ke()&&(t instanceof Element||t instanceof De(t).Element)}function Fe(t){return!!ke()&&(t instanceof HTMLElement||t instanceof De(t).HTMLElement)}function Ie(t){return!(!ke()||"undefined"==typeof ShadowRoot)&&(t instanceof ShadowRoot||t instanceof De(t).ShadowRoot)}const Me=new Set(["inline","contents"]);function Ne(t){const{overflow:e,overflowX:n,overflowY:i,display:s}=Ue(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!Me.has(s)}const Re=new Set(["table","td","th"]);function je(t){return Re.has(Se(t))}const He=[":popover-open",":modal"];function ze(t){return He.some(e=>{try{return t.matches(e)}catch(t){return!1}})}const We=["transform","translate","scale","rotate","perspective"],Be=["transform","translate","scale","rotate","perspective","filter"],qe=["paint","layout","strict","content"];function Ve(t){const e=Ke(),n=Pe(t)?Ue(t):t;return We.some(t=>!!n[t]&&"none"!==n[t])||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||Be.some(t=>(n.willChange||"").includes(t))||qe.some(t=>(n.contain||"").includes(t))}function Ke(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Qe=new Set(["html","body","#document"]);function Xe(t){return Qe.has(Se(t))}function Ue(t){return De(t).getComputedStyle(t)}function Ye(t){return Pe(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ge(t){if("html"===Se(t))return t;const e=t.assignedSlot||t.parentNode||Ie(t)&&t.host||$e(t);return Ie(e)?e.host:e}function Je(t){const e=Ge(t);return Xe(e)?t.ownerDocument?t.ownerDocument.body:t.body:Fe(e)&&Ne(e)?e:Je(e)}function Ze(t,e,n){var i;void 0===e&&(e=[]),void 0===n&&(n=!0);const s=Je(t),o=s===(null==(i=t.ownerDocument)?void 0:i.body),r=De(s);if(o){const t=tn(r);return e.concat(r,r.visualViewport||[],Ne(s)?s:[],t&&n?Ze(t):[])}return e.concat(s,Ze(s,[],n))}function tn(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function en(t){const e=Ue(t);let n=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const s=Fe(t),o=s?t.offsetWidth:n,r=s?t.offsetHeight:i,l=ie(n)!==o||ie(i)!==r;return l&&(n=o,i=r),{width:n,height:i,$:l}}function nn(t){return Pe(t)?t:t.contextElement}function sn(t){const e=nn(t);if(!Fe(e))return oe(1);const n=e.getBoundingClientRect(),{width:i,height:s,$:o}=en(e);let r=(o?ie(n.width):n.width)/i,l=(o?ie(n.height):n.height)/s;return r&&Number.isFinite(r)||(r=1),l&&Number.isFinite(l)||(l=1),{x:r,y:l}}const on=oe(0);function rn(t){const e=De(t);return Ke()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:on}function ln(t,e,n,i){void 0===e&&(e=!1),void 0===n&&(n=!1);const s=t.getBoundingClientRect(),o=nn(t);let r=oe(1);e&&(i?Pe(i)&&(r=sn(i)):r=sn(t));const l=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==De(t))&&e}(o,n,i)?rn(o):oe(0);let a=(s.left+l.x)/r.x,c=(s.top+l.y)/r.y,h=s.width/r.x,u=s.height/r.y;if(o){const t=De(o),e=i&&Pe(i)?De(i):i;let n=t,s=tn(n);for(;s&&i&&e!==n;){const t=sn(s),e=s.getBoundingClientRect(),i=Ue(s),o=e.left+(s.clientLeft+parseFloat(i.paddingLeft))*t.x,r=e.top+(s.clientTop+parseFloat(i.paddingTop))*t.y;a*=t.x,c*=t.y,h*=t.x,u*=t.y,a+=o,c+=r,n=De(s),s=tn(n)}}return Ce({width:h,height:u,x:a,y:c})}function an(t,e){const n=Ye(t).scrollLeft;return e?e.left+n:ln($e(t)).left+n}function cn(t,e){const n=t.getBoundingClientRect();return{x:n.left+e.scrollLeft-an(t,n),y:n.top+e.scrollTop}}const hn=new Set(["absolute","fixed"]);function un(t,e,n){let i;if("viewport"===e)i=function(t,e){const n=De(t),i=$e(t),s=n.visualViewport;let o=i.clientWidth,r=i.clientHeight,l=0,a=0;if(s){o=s.width,r=s.height;const t=Ke();(!t||t&&"fixed"===e)&&(l=s.offsetLeft,a=s.offsetTop)}const c=an(i);if(c<=0){const t=i.ownerDocument,e=t.body,n=getComputedStyle(e),s="CSS1Compat"===t.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,r=Math.abs(i.clientWidth-e.clientWidth-s);r<=25&&(o-=r)}else c<=25&&(o+=c);return{width:o,height:r,x:l,y:a}}(t,n);else if("document"===e)i=function(t){const e=$e(t),n=Ye(t),i=t.ownerDocument.body,s=ne(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),o=ne(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let r=-n.scrollLeft+an(t);const l=-n.scrollTop;return"rtl"===Ue(i).direction&&(r+=ne(e.clientWidth,i.clientWidth)-s),{width:s,height:o,x:r,y:l}}($e(t));else if(Pe(e))i=function(t,e){const n=ln(t,!0,"fixed"===e),i=n.top+t.clientTop,s=n.left+t.clientLeft,o=Fe(t)?sn(t):oe(1);return{width:t.clientWidth*o.x,height:t.clientHeight*o.y,x:s*o.x,y:i*o.y}}(e,n);else{const n=rn(t);i={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return Ce(i)}function dn(t,e){const n=Ge(t);return!(n===e||!Pe(n)||Xe(n))&&("fixed"===Ue(n).position||dn(n,e))}function fn(t,e,n){const i=Fe(e),s=$e(e),o="fixed"===n,r=ln(t,!0,o,e);let l={scrollLeft:0,scrollTop:0};const a=oe(0);function c(){a.x=an(s)}if(i||!i&&!o)if(("body"!==Se(e)||Ne(s))&&(l=Ye(e)),i){const t=ln(e,!0,o,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else s&&c();o&&!i&&s&&c();const h=!s||i||o?oe(0):cn(s,l);return{x:r.left+l.scrollLeft-a.x-h.x,y:r.top+l.scrollTop-a.y-h.y,width:r.width,height:r.height}}function gn(t){return"static"===Ue(t).position}function mn(t,e){if(!Fe(t)||"fixed"===Ue(t).position)return null;if(e)return e(t);let n=t.offsetParent;return $e(t)===n&&(n=n.ownerDocument.body),n}function _n(t,e){const n=De(t);if(ze(t))return n;if(!Fe(t)){let e=Ge(t);for(;e&&!Xe(e);){if(Pe(e)&&!gn(e))return e;e=Ge(e)}return n}let i=mn(t,e);for(;i&&je(i)&&gn(i);)i=mn(i,e);return i&&Xe(i)&&gn(i)&&!Ve(i)?n:i||function(t){let e=Ge(t);for(;Fe(e)&&!Xe(e);){if(Ve(e))return e;if(ze(e))return null;e=Ge(e)}return null}(t)||n}const pn={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{elements:e,rect:n,offsetParent:i,strategy:s}=t;const o="fixed"===s,r=$e(i),l=!!e&&ze(e.floating);if(i===r||l&&o)return n;let a={scrollLeft:0,scrollTop:0},c=oe(1);const h=oe(0),u=Fe(i);if((u||!u&&!o)&&(("body"!==Se(i)||Ne(r))&&(a=Ye(i)),Fe(i))){const t=ln(i);c=sn(i),h.x=t.x+i.clientLeft,h.y=t.y+i.clientTop}const d=!r||u||o?oe(0):cn(r,a);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-a.scrollLeft*c.x+h.x+d.x,y:n.y*c.y-a.scrollTop*c.y+h.y+d.y}},getDocumentElement:$e,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:s}=t;const o=[..."clippingAncestors"===n?ze(e)?[]:function(t,e){const n=e.get(t);if(n)return n;let i=Ze(t,[],!1).filter(t=>Pe(t)&&"body"!==Se(t)),s=null;const o="fixed"===Ue(t).position;let r=o?Ge(t):t;for(;Pe(r)&&!Xe(r);){const e=Ue(r),n=Ve(r);n||"fixed"!==e.position||(s=null),(o?!n&&!s:!n&&"static"===e.position&&s&&hn.has(s.position)||Ne(r)&&!n&&dn(t,r))?i=i.filter(t=>t!==r):s=e,r=Ge(r)}return e.set(t,i),i}(e,this._c):[].concat(n),i],r=o[0],l=o.reduce((t,n)=>{const i=un(e,n,s);return t.top=ne(i.top,t.top),t.right=ee(i.right,t.right),t.bottom=ee(i.bottom,t.bottom),t.left=ne(i.left,t.left),t},un(e,r,s));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:_n,getElementRects:async function(t){const e=this.getOffsetParent||_n,n=this.getDimensions,i=await n(t.floating);return{reference:fn(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){const{width:e,height:n}=en(t);return{width:e,height:n}},getScale:sn,isElement:Pe,isRTL:function(t){return"rtl"===Ue(t).direction}};function bn(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function vn(t,e,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:r="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:a=!1}=i,c=nn(t),h=s||o?[...c?Ze(c):[],...Ze(e)]:[];h.forEach(t=>{s&&t.addEventListener("scroll",n,{passive:!0}),o&&t.addEventListener("resize",n)});const u=c&&l?function(t,e){let n,i=null;const s=$e(t);function o(){var t;clearTimeout(n),null==(t=i)||t.disconnect(),i=null}return function r(l,a){void 0===l&&(l=!1),void 0===a&&(a=1),o();const c=t.getBoundingClientRect(),{left:h,top:u,width:d,height:f}=c;if(l||e(),!d||!f)return;const g={rootMargin:-se(u)+"px "+-se(s.clientWidth-(h+d))+"px "+-se(s.clientHeight-(u+f))+"px "+-se(h)+"px",threshold:ne(0,ee(1,a))||1};let m=!0;function _(e){const i=e[0].intersectionRatio;if(i!==a){if(!m)return r();i?r(!1,i):n=setTimeout(()=>{r(!1,1e-7)},1e3)}1!==i||bn(c,t.getBoundingClientRect())||r(),m=!1}try{i=new IntersectionObserver(_,{...g,root:s.ownerDocument})}catch(t){i=new IntersectionObserver(_,g)}i.observe(t)}(!0),o}(c,n):null;let d,f=-1,g=null;r&&(g=new ResizeObserver(t=>{let[i]=t;i&&i.target===c&&g&&(g.unobserve(e),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var t;null==(t=g)||t.observe(e)})),n()}),c&&!a&&g.observe(c),g.observe(e));let m=a?ln(t):null;return a&&function e(){const i=ln(t);m&&!bn(m,i)&&n(),m=i,d=requestAnimationFrame(e)}(),n(),()=>{var t;h.forEach(t=>{s&&t.removeEventListener("scroll",n),o&&t.removeEventListener("resize",n)}),null==u||u(),null==(t=g)||t.disconnect(),g=null,a&&cancelAnimationFrame(d)}}const yn=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){var n,i;const{x:s,y:o,placement:r,middlewareData:l}=e,a=await async function(t,e){const{placement:n,platform:i,elements:s}=t,o=await(null==i.isRTL?void 0:i.isRTL(s.floating)),r=he(n),l=ue(n),a="y"===me(n),c=Le.has(r)?-1:1,h=o&&a?-1:1,u=ce(e,t);let{mainAxis:d,crossAxis:f,alignmentAxis:g}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof g&&(f="end"===l?-1*g:g),a?{x:f*h,y:d*c}:{x:d*c,y:f*h}}(e,t);return r===(null==(n=l.offset)?void 0:n.placement)&&null!=(i=l.arrow)&&i.alignmentOffset?{}:{x:s+a.x,y:o+a.y,data:{...a,placement:r}}}}},wn=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:i,placement:s}=e,{mainAxis:o=!0,crossAxis:r=!1,limiter:l={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...a}=ce(t,e),c={x:n,y:i},h=await xe(e,a),u=me(he(s)),d=de(u);let f=c[d],g=c[u];if(o){const t="y"===d?"bottom":"right";f=ae(f+h["y"===d?"top":"left"],f,f-h[t])}if(r){const t="y"===u?"bottom":"right";g=ae(g+h["y"===u?"top":"left"],g,g-h[t])}const m=l.fn({...e,[d]:f,[u]:g});return{...m,data:{x:m.x-n,y:m.y-i,enabled:{[d]:o,[u]:r}}}}}},An=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n,i;const{placement:s,middlewareData:o,rects:r,initialPlacement:l,platform:a,elements:c}=e,{mainAxis:h=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:m=!0,..._}=ce(t,e);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const p=he(s),b=me(l),v=he(l)===l,y=await(null==a.isRTL?void 0:a.isRTL(c.floating)),w=d||(v||!m?[Ae(l)]:function(t){const e=Ae(t);return[pe(t),e,pe(e)]}(l)),A="none"!==g;!d&&A&&w.push(...function(t,e,n,i){const s=ue(t);let o=function(t,e,n){switch(t){case"top":case"bottom":return n?e?ve:be:e?be:ve;case"left":case"right":return e?ye:we;default:return[]}}(he(t),"start"===n,i);return s&&(o=o.map(t=>t+"-"+s),e&&(o=o.concat(o.map(pe)))),o}(l,m,g,y));const E=[l,...w],C=await xe(e,_),T=[];let x=(null==(i=o.flip)?void 0:i.overflows)||[];if(h&&T.push(C[p]),u){const t=function(t,e,n){void 0===n&&(n=!1);const i=ue(t),s=_e(t),o=fe(s);let r="x"===s?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return e.reference[o]>e.floating[o]&&(r=Ae(r)),[r,Ae(r)]}(s,r,y);T.push(C[t[0]],C[t[1]])}if(x=[...x,{placement:s,overflows:T}],!T.every(t=>t<=0)){var L,k;const t=((null==(L=o.flip)?void 0:L.index)||0)+1,e=E[t];if(e&&("alignment"!==u||b===me(e)||x.every(t=>me(t.placement)!==b||t.overflows[0]>0)))return{data:{index:t,overflows:x},reset:{placement:e}};let n=null==(k=x.filter(t=>t.overflows[0]<=0).sort((t,e)=>t.overflows[1]-e.overflows[1])[0])?void 0:k.placement;if(!n)switch(f){case"bestFit":{var S;const t=null==(S=x.filter(t=>{if(A){const e=me(t.placement);return e===b||"y"===e}return!0}).map(t=>[t.placement,t.overflows.filter(t=>t>0).reduce((t,e)=>t+e,0)]).sort((t,e)=>t[1]-e[1])[0])?void 0:S[0];t&&(n=t);break}case"initialPlacement":n=l}if(s!==n)return{reset:{placement:n}}}return{}}}},En=(t,e,n)=>{const i=new Map,s={platform:pn,...n},o={...s.platform,_c:i};return(async(t,e,n)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:r}=n,l=o.filter(Boolean),a=await(null==r.isRTL?void 0:r.isRTL(e));let c=await r.getElementRects({reference:t,floating:e,strategy:s}),{x:h,y:u}=Te(c,i,a),d=i,f={},g=0;for(let n=0;n<l.length;n++){const{name:o,fn:m}=l[n],{x:_,y:p,data:b,reset:v}=await m({x:h,y:u,initialPlacement:i,placement:d,strategy:s,middlewareData:f,rects:c,platform:r,elements:{reference:t,floating:e}});h=null!=_?_:h,u=null!=p?p:u,f={...f,[o]:{...f[o],...b}},v&&g<=50&&(g++,"object"==typeof v&&(v.placement&&(d=v.placement),v.rects&&(c=!0===v.rects?await r.getElementRects({reference:t,floating:e,strategy:s}):v.rects),({x:h,y:u}=Te(c,d,a))),n=-1)}return{x:h,y:u,placement:d,strategy:s,middlewareData:f}})(t,e,{...s,platform:o})},Cn={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},Tn=(t,e="bottom")=>{if(!t||!t.includes(":"))return null;const n=t.split(/\s+/),i={xs:e};for(const t of n)if(t.includes(":")){const[e,n]=t.split(":");void 0!==Cn[e]&&(i[e]=n)}else i.xs=t;return i},xn=(t,e="bottom")=>{if(!t)return e;const n=window.innerWidth;let i=t.xs||e;const s=["sm","md","lg","xl","2xl"];for(const e of s)n>=Cn[e]&&t[e]&&(i=t[e]);return i},Ln=t=>{const e=[];for(const n of Object.keys(Cn)){const i=Cn[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",t),e.push({mql:s,handler:t})}return e},kn=t=>{for(const{mql:e,handler:n}of t)e.removeEventListener("change",n)},Sn="dropdown",Dn=".bs.dropdown",$n=".data-api",On="ArrowUp",Pn="ArrowDown",Fn=`hide${Dn}`,In=`hidden${Dn}`,Mn=`show${Dn}`,Nn=`shown${Dn}`,Rn=`click${Dn}${$n}`,jn=`keydown${Dn}${$n}`,Hn=`keyup${Dn}${$n}`,zn="show",Wn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Bn=`${Wn}.${zn}`,qn=".dropdown-menu",Vn=O()?"bottom-end":"bottom-start",Kn={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:Vn,reference:"toggle"},Qn={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)"};class Xn extends N{constructor(t,e){if(void 0===En)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(t,e),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._menu=j.next(this._element,qn)[0]||j.prev(this._element,qn)[0]||j.findOne(qn,this._parent),this._parseResponsivePlacements()}static get Default(){return Kn}static get DefaultType(){return Qn}static get NAME(){return Sn}toggle(){return this._isShown()?this.hide():this.show()}show(){if(k(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!_.trigger(this._element,Mn,t).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))_.on(t,"mouseover",D);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(zn),this._element.classList.add(zn),_.trigger(this._element,Nn,t)}}hide(){if(k(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(t){if(!_.trigger(this._element,Fn,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))_.off(t,"mouseover",D);this._disposeFloating(),this._menu.classList.remove(zn),this._element.classList.remove(zn),this._element.setAttribute("aria-expanded","false"),y.removeDataAttribute(this._menu,"placement"),y.removeDataAttribute(this._menu,"display"),_.trigger(this._element,In,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!T(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Sn.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createFloating(){if("static"===this._config.display)return void y.setDataAttribute(this._menu,"display","static");let t=this._element;"parent"===this._config.reference?t=this._parent:T(this._config.reference)?t=x(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference),this._updateFloatingPosition(t),this._floatingCleanup=vn(t,this._menu,()=>this._updateFloatingPosition(t))}async _updateFloatingPosition(t=null){if(!this._menu||!this._menu.isConnected)return;t||(t="parent"===this._config.reference?this._parent:T(this._config.reference)?x(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const e=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(e,n),{x:s,y:o,placement:r}=await En(t,this._menu,i);this._menu&&this._menu.isConnected&&(Object.assign(this._menu.style,{position:"absolute",left:`${s}px`,top:`${o}px`,margin:"0"}),y.setDataAttribute(this._menu,"placement",r))}_isShown(){return this._menu.classList.contains(zn)}_getPlacement(){return this._responsivePlacements?xn(this._responsivePlacements,Vn):this._config.placement}_parseResponsivePlacements(){this._responsivePlacements=Tn(this._config.placement,Vn),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=Ln(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){kn(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:n})=>t({placement:e,reference:n.reference,floating:n.floating},this._element):t}_getFloatingMiddleware(){const t=this._getOffset();return[yn("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),An({fallbackPlacements:this._getFallbackPlacements()}),wn({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(t,e){const n={placement:t,middleware:e};return{...n,...P(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_selectMenuItem({key:t,target:e}){const n=j.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>L(t));n.length&&I(n,e,t===Pn,!n.includes(e)).focus()}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=j.find(Bn);for(const n of e){const e=Xn.getInstance(n);if(!e||!1===e._config.autoClose)continue;const i=t.composedPath(),s=i.includes(e._menu);if(i.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),n="Escape"===t.key,i=[On,Pn].includes(t.key);if(!i&&!n)return;if(e&&!n)return;t.preventDefault();const s=this.matches(Wn)?this:j.prev(this,Wn)[0]||j.next(this,Wn)[0]||j.findOne(Wn,t.delegateTarget.parentNode),o=Xn.getOrCreateInstance(s);if(i)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}_.on(document,jn,Wn,Xn.dataApiKeydownHandler),_.on(document,jn,qn,Xn.dataApiKeydownHandler),_.on(document,Rn,Xn.clearMenus),_.on(document,Hn,Xn.clearMenus),_.on(document,Rn,Wn,function(t){t.preventDefault(),Xn.getOrCreateInstance(this).toggle()});const Un="backdrop",Yn="show",Gn=`mousedown.bs.${Un}`,Jn={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Zn={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ti extends M{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return Un}show(t){if(!this._config.isVisible)return void P(t);this._append();const e=this._getElement();this._config.isAnimated&&$(e),e.classList.add(Yn),this._emulateAnimation(()=>{P(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yn),this._emulateAnimation(()=>{this.dispose(),P(t)})):P(t)}dispose(){this._isAppended&&(_.off(this._element,Gn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=x(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),_.on(t,Gn,()=>{P(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){F(t,this._getElement(),this._config.isAnimated)}}const ei=".bs.focustrap",ni=`focusin${ei}`,ii=`keydown.tab${ei}`,si="backward",oi={autofocus:!0,trapElement:null},ri={autofocus:"boolean",trapElement:"element"};class li extends M{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return oi}static get DefaultType(){return ri}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),_.off(document,ei),_.on(document,ni,t=>this._handleFocusin(t)),_.on(document,ii,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,_.off(document,ei))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const n=j.focusableChildren(e);0===n.length?e.focus():this._lastTabNavDirection===si?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?si:"forward")}}const ai=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ci=".sticky-top",hi="padding-right",ui="margin-right";class di{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hi,e=>e+t),this._setElementAttributes(ai,hi,e=>e+t),this._setElementAttributes(ci,ui,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hi),this._resetElementAttributes(ai,hi),this._resetElementAttributes(ci,ui)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,n){const i=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${n(Number.parseFloat(s))}px`)})}_saveInitialAttribute(t,e){const n=t.style.getPropertyValue(e);n&&y.setDataAttribute(t,e,n)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const n=y.getDataAttribute(t,e);null!==n?(y.removeDataAttribute(t,e),t.style.setProperty(e,n)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(T(t))e(t);else for(const n of j.find(t,this._element))e(n)}}const fi=".bs.offcanvas",gi=".data-api",mi=`load${fi}${gi}`,_i="show",pi="showing",bi="hiding",vi=".offcanvas.show",yi=`show${fi}`,wi=`shown${fi}`,Ai=`hide${fi}`,Ei=`hidePrevented${fi}`,Ci=`hidden${fi}`,Ti=`resize${fi}`,xi=`click${fi}${gi}`,Li=`keydown.dismiss${fi}`,ki={backdrop:!0,keyboard:!0,scroll:!1},Si={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Di extends N{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return ki}static get DefaultType(){return Si}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||_.trigger(this._element,yi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new di).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(pi),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(_i),this._element.classList.remove(pi),_.trigger(this._element,wi,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(_.trigger(this._element,Ai).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(bi),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(_i,bi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new di).reset(),_.trigger(this._element,Ci)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new ti({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():_.trigger(this._element,Ei)}:null})}_initializeFocusTrap(){return new li({trapElement:this._element})}_addEventListeners(){_.on(this._element,Li,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():_.trigger(this._element,Ei))})}}_.on(document,xi,'[data-bs-toggle="offcanvas"]',function(t){const e=j.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),k(this))return;_.one(e,Ci,()=>{L(this)&&this.focus()});const n=j.findOne(vi);n&&n!==e&&Di.getInstance(n).hide(),Di.getOrCreateInstance(e).toggle(this)}),_.on(window,mi,()=>{for(const t of j.find(vi))Di.getOrCreateInstance(t).show()}),_.on(window,Ti,()=>{for(const t of j.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Di.getOrCreateInstance(t).hide()}),H(Di);const $i={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Oi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Pi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Fi=(t,e)=>{const n=t.nodeName.toLowerCase();return e.includes(n)?!Oi.has(n)||Boolean(Pi.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(n))},Ii={allowList:$i,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Mi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ni={entry:"(string|element|function|null)",selector:"(string|element)"};class Ri extends M{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Ii}static get DefaultType(){return Mi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,n]of Object.entries(this._config.content))this._setContent(t,n,e);const e=t.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&e.classList.add(...n.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,n]of Object.entries(t))super._typeCheckConfig({selector:e,entry:n},Ni)}_setContent(t,e,n){const i=j.findOne(n,t);i&&((e=this._resolvePossibleFunction(e))?T(e)?this._putElementInTemplate(x(e),i):this._config.html?i.innerHTML=this._maybeSanitize(e):i.textContent=e:i.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);const i=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const t of s){const n=t.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){t.remove();continue}const i=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[n]||[]);for(const e of i)Fi(e,s)||t.removeAttribute(e.nodeName)}return i.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return P(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const ji=new Set(["sanitize","allowList","sanitizeFn"]),Hi="fade",zi="show",Wi=".tooltip-inner",Bi=".modal",qi='[data-bs-toggle="tooltip"]',Vi="hide.bs.modal",Ki="hover",Qi="focus",Xi="click",Ui="focusin",Yi="mouseenter",Gi={AUTO:"auto",TOP:"top",RIGHT:O()?"left":"right",BOTTOM:"bottom",LEFT:O()?"right":"left"},Ji={allowList:$i,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},Zi={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ts extends N{constructor(t,e){if(void 0===En)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ji}static get DefaultType(){return Zi}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),_.off(this._element.closest(Bi),Vi,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=_.trigger(this._element,this.constructor.eventName("show")),e=(S(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),_.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add(zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))_.on(t,"mouseover",D);this._queueCallback(()=>{_.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!_.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))_.off(t,"mouseover",D);this._activeTrigger[Xi]=!1,this._activeTrigger[Qi]=!1,this._activeTrigger[Ki]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),_.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Hi,zi),e.classList.add(`bs-${this.constructor.NAME}-auto`);const n=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",n),this._isAnimated()&&e.classList.add(Hi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ri({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Wi]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Hi)}_isShown(){return this.tip&&this.tip.classList.contains(zi)}_getPlacement(t){if(this._responsivePlacements){const t=xn(this._responsivePlacements,"top");return Gi[t.toUpperCase()]||t}const e=P(this._config.placement,[this,t,this._element]);return Gi[e.toUpperCase()]||e}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=Tn(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=Ln(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){kn(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(t){const e=this._getPlacement(t),n=t.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(t,e,n),this._floatingCleanup=vn(this._element,t,()=>this._updateFloatingPosition(t,null,n))}async _updateFloatingPosition(t=this.tip,e=null,n=null){if(!t)return;e||(e=this._getPlacement(t)),n||(n=t.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(e,i),{x:o,y:r,placement:l,middlewareData:a}=await En(this._element,t,s);if(Object.assign(t.style,{position:"absolute",left:`${o}px`,top:`${r}px`}),n&&(n.style.position="absolute"),y.setDataAttribute(t,"placement",l),n&&a.arrow){const{x:t,y:e}=a.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(n.style,{left:i&&null!==t?`${t}px`:"",top:i||null===e?"":`${e}px`,right:"",bottom:""})}}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:n})=>t({placement:e,reference:n.reference,floating:n.floating},this._element):t}_resolvePossibleFunction(t){return P(t,[this._element,this._element])}_getFloatingMiddleware(t){const e=this._getOffset(),n=[yn("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),An({fallbackPlacements:this._config.fallbackPlacements}),wn({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return t&&n.push({name:"arrow",options:i={element:t},async fn(t){const{x:e,y:n,placement:s,rects:o,platform:r,elements:l,middlewareData:a}=t,{element:c,padding:h=0}=ce(i,t)||{};if(null==c)return{};const u=Ee(h),d={x:e,y:n},f=_e(s),g=fe(f),m=await r.getDimensions(c),_="y"===f,p=_?"top":"left",b=_?"bottom":"right",v=_?"clientHeight":"clientWidth",y=o.reference[g]+o.reference[f]-d[f]-o.floating[g],w=d[f]-o.reference[f],A=await(null==r.getOffsetParent?void 0:r.getOffsetParent(c));let E=A?A[v]:0;E&&await(null==r.isElement?void 0:r.isElement(A))||(E=l.floating[v]||o.floating[g]);const C=y/2-w/2,T=E/2-m[g]/2-1,x=ee(u[p],T),L=ee(u[b],T),k=x,S=E-m[g]-L,D=E/2-m[g]/2+C,$=ae(k,D,S),O=!a.arrow&&null!=ue(s)&&D!==$&&o.reference[g]/2-(D<k?x:L)-m[g]/2<0,P=O?D<k?D-k:D-S:0;return{[f]:d[f]+P,data:{[f]:$,centerOffset:D-$-P,...O&&{alignmentOffset:P}},reset:O}}}),n;var i}_getFloatingConfig(t,e){const n={placement:t,middleware:e};return{...n,...P(this._config.floatingConfig,[void 0,n])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)_.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[Xi]=!(e._isShown()&&e._activeTrigger[Xi]),e.toggle()});else if("manual"!==e){const t=e===Ki?this.constructor.eventName(Yi):this.constructor.eventName(Ui),n=e===Ki?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");_.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Qi:Ki]=!0,e._enter()}),_.on(this._element,n,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Qi:Ki]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},_.on(this._element.closest(Bi),Vi,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=y.getDataAttributes(this._element);for(const t of Object.keys(e))ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:x(t.container),"number"==typeof 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()),t}_getDelegateConfig(){const t={};for(const[e,n]of Object.entries(this._config))this.constructor.Default[e]!==n&&(t[e]=n);return t.selector=!1,t.trigger="manual",t}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const es=t=>{const e=t.target.closest(qi);if(!e)return;const n=ts.getOrCreateInstance(e);"focusin"===t.type&&(n._activeTrigger.focus=!0,n._enter())};_.on(document,Ui,qi,es),_.on(document,Yi,qi,es);const ns=".popover-header",is=".popover-body",ss='[data-bs-toggle="popover"]',os={...ts.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},rs={...ts.DefaultType,content:"(null|string|element|function)"};class ls extends ts{static get Default(){return os}static get DefaultType(){return rs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ns]:this._getTitle(),[is]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const as=t=>{const e=t.target.closest(ss);if(!e)return;"click"===t.type&&t.preventDefault();const n=ls.getOrCreateInstance(e);"click"===t.type?n.toggle():"focusin"===t.type&&(n._activeTrigger.focus=!0,n._enter())};_.on(document,"click",ss,as),_.on(document,"focusin",ss,as),_.on(document,"mouseenter",ss,as);const cs=".bs.scrollspy",hs=`activate${cs}`,us=`click${cs}`,ds=`load${cs}.data-api`,fs="active",gs="[href]",ms=".nav-link",_s=`${ms}, .nav-item > ${ms}, .list-group-item`,ps={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},bs={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class vs extends N{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ps}static get DefaultType(){return bs}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=x(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(_.off(this._config.target,us),_.on(this._config.target,us,gs,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const n=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),n=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(n(o),!i)return}else s||t||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=j.find(gs,this._config.target);for(const e of t){if(!e.hash||k(e))continue;const t=j.findOne(decodeURI(e.hash),this._element);L(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(fs),this._activateParents(t),_.trigger(this._element,hs,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))j.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(fs);else for(const e of j.parents(t,".nav, .list-group"))for(const t of j.prev(e,_s))t.classList.add(fs)}_clearActiveClass(t){t.classList.remove(fs);const e=j.find(`${gs}.${fs}`,t);for(const t of e)t.classList.remove(fs)}}_.on(window,ds,()=>{for(const t of j.find('[data-bs-spy="scroll"]'))vs.getOrCreateInstance(t)});const ys=".bs.tab",ws=`hide${ys}`,As=`hidden${ys}`,Es=`show${ys}`,Cs=`shown${ys}`,Ts=`click${ys}`,xs=`keydown${ys}`,Ls=`load${ys}`,ks="ArrowLeft",Ss="ArrowRight",Ds="ArrowUp",$s="ArrowDown",Os="Home",Ps="End",Fs="active",Is="fade",Ms="show",Ns=".dropdown-toggle",Rs=`:not(${Ns})`,js='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Hs=`.nav-link${Rs}, .list-group-item${Rs}, [role="tab"]${Rs}, ${js}`,zs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ws extends N{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),_.on(this._element,xs,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),n=e?_.trigger(e,ws,{relatedTarget:t}):null;_.trigger(t,Es,{relatedTarget:e}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(j.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),_.trigger(t,Cs,{relatedTarget:e})):t.classList.add(Ms)},t,t.classList.contains(Is)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(j.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),_.trigger(t,As,{relatedTarget:e})):t.classList.remove(Ms)},t,t.classList.contains(Is)))}_keydown(t){if(![ks,Ss,Ds,$s,Os,Ps].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!k(t));let n;if([Os,Ps].includes(t.key))n=e[t.key===Os?0:e.length-1];else{const i=[Ss,$s].includes(t.key);n=I(e,t.target,i,!0)}n&&(n.focus({preventScroll:!0}),Ws.getOrCreateInstance(n).show())}_getChildren(){return j.find(Hs,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),n=this._getOuterElement(t);t.setAttribute("aria-selected",e),n!==t&&this._setAttributeIfNotExists(n,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=j.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const n=this._getOuterElement(t);if(!n.classList.contains("dropdown"))return;const i=(t,i)=>{const s=j.findOne(t,n);s&&s.classList.toggle(i,e)};i(Ns,Fs),i(".dropdown-menu",Ms),n.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,n){t.hasAttribute(e)||t.setAttribute(e,n)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Hs)?t:j.findOne(Hs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}}_.on(document,Ts,js,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),k(this)||Ws.getOrCreateInstance(this).show()}),_.on(window,Ls,()=>{for(const t of j.find(zs))Ws.getOrCreateInstance(t)});const Bs=".bs.toast",qs=`mouseover${Bs}`,Vs=`mouseout${Bs}`,Ks=`focusin${Bs}`,Qs=`focusout${Bs}`,Xs=`hide${Bs}`,Us=`hidden${Bs}`,Ys=`show${Bs}`,Gs=`shown${Bs}`,Js="hide",Zs="show",to="showing",eo={animation:"boolean",autohide:"boolean",delay:"number"},no={animation:!0,autohide:!0,delay:5e3};class io extends N{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return no}static get DefaultType(){return eo}static get NAME(){return"toast"}show(){_.trigger(this._element,Ys).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Js),$(this._element),this._element.classList.add(Zs,to),this._queueCallback(()=>{this._element.classList.remove(to),_.trigger(this._element,Gs),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(_.trigger(this._element,Xs).defaultPrevented||(this._element.classList.add(to),this._queueCallback(()=>{this._element.classList.add(Js),this._element.classList.remove(to,Zs),_.trigger(this._element,Us)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Zs),super.dispose()}isShown(){return this._element.classList.contains(Zs)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const n=t.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){_.on(this._element,qs,t=>this._onInteraction(t,!0)),_.on(this._element,Vs,t=>this._onInteraction(t,!1)),_.on(this._element,Ks,t=>this._onInteraction(t,!0)),_.on(this._element,Qs,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}return H(io),{Alert:q,Button:K,Carousel:xt,Collapse:Ht,Dialog:te,Dropdown:Xn,Offcanvas:Di,Popover:ls,ScrollSpy:vs,Tab:Ws,Toast:io,Tooltip:ts}});
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).bootstrap=t()}(this,function(){"use strict";const e=new Map,t={set(t,n,s){e.has(t)||e.set(t,new Map);const i=e.get(t);i.has(n)||0===i.size?i.set(n,s):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(t,n)=>e.has(t)&&e.get(t).get(n)||null,remove(t,n){if(!e.has(t))return;const s=e.get(t);s.delete(n),0===s.size&&e.delete(t)}},n=/[^.]*(?=\..*)\.|.*/,s=/\..*/,i=/::\d+$/,o={};let a=1;const r={mouseenter:"mouseover",mouseleave:"mouseout"},l=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function c(e,t){return t&&`${t}::${a++}`||e.uidEvent||a++}function d(e){const t=c(e);return e.uidEvent=t,o[t]=o[t]||{},o[t]}function u(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function h(e,t,n){const i="string"==typeof t,o=i?n:t||n;let a=(c=(c=e).replace(s,""),r[c]||c);var c;return l.has(a)||(a=e),[i,o,a]}function m(e,t,s,i,o){if("string"!=typeof t||!e)return;let[a,l,m]=h(t,s,i);if(t in r){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};l=e(l)}const g=d(e),f=g[m]||(g[m]={}),v=u(f,l,a?s:null);if(v)return void(v.oneOff=v.oneOff&&o);const b=c(l,t.replace(n,"")),y=a?function(e,t,n){return function s(i){const o=e.querySelectorAll(t);for(let{target:a}=i;a&&a!==this;a=a.parentNode)for(const r of o)if(r===a)return _(i,{delegateTarget:a}),s.oneOff&&p.off(e,i.type,t,n),n.apply(a,[i])}}(e,s,l):function(e,t){return function n(s){return _(s,{delegateTarget:e}),n.oneOff&&p.off(e,s.type,t),t.apply(e,[s])}}(e,l);y.delegationSelector=a?s:null,y.callable=l,y.oneOff=o,y.uidEvent=b,f[b]=y,e.addEventListener(m,y,a)}function g(e,t,n,s,i){const o=u(t[n],s,i);o&&(e.removeEventListener(n,o,Boolean(i)),delete t[n][o.uidEvent])}function f(e,t,n,s){const i=t[n]||{};for(const[o,a]of Object.entries(i))o.includes(s)&&g(e,t,n,a.callable,a.delegationSelector)}const p={on(e,t,n,s){m(e,t,n,s,!1)},one(e,t,n,s){m(e,t,n,s,!0)},off(e,t,n,s){if("string"!=typeof t||!e)return;const[o,a,r]=h(t,n,s),l=r!==t,c=d(e),u=c[r]||{},m=t.startsWith(".");if(void 0===a){if(m)for(const n of Object.keys(c))f(e,c,n,t.slice(1));for(const[n,s]of Object.entries(u)){const o=n.replace(i,"");l&&!t.includes(o)||g(e,c,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(u).length)return;g(e,c,r,a,o?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const s=_(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(s),s}};function _(e,t={}){for(const[n,s]of Object.entries(t))try{e[n]=s}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>s})}return e}function v(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function b(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const y={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${b(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${b(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const s of n){let n=s.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=v(e.dataset[s])}return t},getDataAttribute:(e,t)=>v(e.getAttribute(`data-bs-${b(t)}`))},w="transitionend",x=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),D=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),E=e=>{e.dispatchEvent(new Event(w))},M=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,T=e=>M(e)?e:"string"==typeof e&&e.length>0?document.querySelector(x(e)):null,A=e=>{if(!M(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},C=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),S=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?S(e.parentNode):null},k=()=>{},$=e=>{e.offsetHeight},L=()=>"rtl"===document.documentElement.dir,I=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,N=(e,t,n=!0)=>{if(!n)return void I(e);const s=(e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const s=Number.parseFloat(t),i=Number.parseFloat(n);return s||i?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0})(t)+5;let i=!1;const o=({target:n})=>{n===t&&(i=!0,t.removeEventListener(w,o),I(e))};t.addEventListener(w,o),setTimeout(()=>{i||E(t)},s)},O=(e,t,n,s)=>{const i=e.length;let o=e.indexOf(t);return-1===o?!n&&s?e[i-1]:e[0]:(o+=n?1:-1,s&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))])};class P{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=M(t)?y.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...M(t)?y.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,s]of Object.entries(t)){const t=e[n],i=M(t)?"element":D(t);if(!new RegExp(s).test(i))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${i}" but expected type "${s}".`)}}}class F extends P{constructor(e,n){super(),(e=T(e))&&(this._element=e,this._config=this._getConfig(n),t.set(this._element,this.constructor.DATA_KEY,this))}dispose(){t.remove(this._element,this.constructor.DATA_KEY),p.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){N(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return t.get(T(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const Y=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>x(e)).join(","):null},H={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let s=e.parentNode.closest(t);for(;s;)n.push(s),s=s.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!C(e)&&A(e))},getSelectorFromElement(e){const t=Y(e);return t&&H.findOne(t)?t:null},getElementFromSelector(e){const t=Y(e);return t?H.findOne(t):null},getMultipleElementsFromSelector(e){const t=Y(e);return t?H.find(t):[]}},W=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,s=e.NAME;p.on(document,n,`[data-bs-dismiss="${s}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),C(this))return;const i=H.getElementFromSelector(this)||this.closest(`.${s}`);e.getOrCreateInstance(i)[t]()})},R=(e,t,n)=>{const s=`${t}:not(.disabled):not(:disabled)`;p.on(document,e,s,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=H.getSelectorFromElement(this),s=t?H.find(t):[this];n({targets:s,event:e})})},q=".bs.alert",j=`close${q}`,z=`closed${q}`;class B extends F{static get NAME(){return"alert"}close(){if(p.trigger(this._element,j).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),p.trigger(this._element,z),this.dispose()}}W(B,"close");const K='[data-bs-toggle="button"]';class V extends F{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}p.on(document,"click.bs.button.data-api",K,e=>{e.preventDefault();const t=e.target.closest(K);V.getOrCreateInstance(t).toggle()});const U=".bs.swipe",X=`touchstart${U}`,Q=`touchmove${U}`,Z=`touchend${U}`,G=`pointerdown${U}`,J=`pointerup${U}`,ee={endCallback:null,leftCallback:null,rightCallback:null},te={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class ne extends P{constructor(e,t){super(),this._element=e,e&&ne.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ee}static get DefaultType(){return te}static get NAME(){return"swipe"}dispose(){p.off(this._element,U)}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),I(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&I(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(p.on(this._element,G,e=>this._start(e)),p.on(this._element,J,e=>this._end(e)),this._element.classList.add("pointer-event")):(p.on(this._element,X,e=>this._start(e)),p.on(this._element,Q,e=>this._move(e)),p.on(this._element,Z,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const se=".bs.carousel",ie=".data-api",oe="ArrowLeft",ae="ArrowRight",re="next",le="prev",ce="left",de="right",ue=`slide${se}`,he=`slid${se}`,me=`keydown${se}`,ge=`mouseenter${se}`,fe=`mouseleave${se}`,pe=`dragstart${se}`,_e=`load${se}${ie}`,ve=`click${se}${ie}`,be="carousel",ye="active",we=".active",xe=".carousel-item",De=we+xe,Ee={[oe]:de,[ae]:ce},Me={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Te={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Ae extends F{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=H.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===be&&this.cycle()}static get Default(){return Me}static get DefaultType(){return Te}static get NAME(){return"carousel"}next(){this._slide(re)}nextWhenVisible(){!document.hidden&&A(this._element)&&this.next()}prev(){this._slide(le)}pause(){this._isSliding&&E(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?p.one(this._element,he,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void p.one(this._element,he,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const s=e>n?re:le;this._slide(s,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&p.on(this._element,me,e=>this._keydown(e)),"hover"===this._config.pause&&(p.on(this._element,ge,()=>this.pause()),p.on(this._element,fe,()=>this._maybeEnableCycle())),this._config.touch&&ne.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of H.find(".carousel-item img",this._element))p.on(e,pe,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(ce)),rightCallback:()=>this._slide(this._directionToOrder(de)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new ne(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=Ee[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=H.findOne(we,this._indicatorsElement);t.classList.remove(ye),t.removeAttribute("aria-current");const n=H.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add(ye),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),s=e===re,i=t||O(this._getItems(),n,s,this._config.wrap);if(i===n)return;const o=this._getItemIndex(i),a=t=>p.trigger(this._element,t,{relatedTarget:i,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(ue).defaultPrevented)return;if(!n||!i)return;const r=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=i;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";i.classList.add(c),$(i),n.classList.add(l),i.classList.add(l),this._queueCallback(()=>{i.classList.remove(l,c),i.classList.add(ye),n.classList.remove(ye,c,l),this._isSliding=!1,a(he)},n,this._isAnimated()),r&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return H.findOne(De,this._element)}_getItems(){return H.find(xe,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return L()?e===ce?le:re:e===ce?re:le}_orderToDirection(e){return L()?e===le?ce:de:e===le?de:ce}}p.on(document,ve,"[data-bs-slide], [data-bs-slide-to]",function(e){const t=H.getElementFromSelector(this);if(!t||!t.classList.contains(be))return;e.preventDefault();const n=Ae.getOrCreateInstance(t),s=this.getAttribute("data-bs-slide-to");return s?(n.to(s),void n._maybeEnableCycle()):"next"===y.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),p.on(window,_e,()=>{const e=H.find('[data-bs-ride="carousel"]');for(const t of e)Ae.getOrCreateInstance(t)});const Ce=".bs.collapse",Se=`show${Ce}`,ke=`shown${Ce}`,$e=`hide${Ce}`,Le=`hidden${Ce}`,Ie=`click${Ce}.data-api`,Ne="show",Oe="collapse",Pe="collapsing",Fe=`:scope .${Oe} .${Oe}`,Ye='[data-bs-toggle="collapse"]',He={parent:null,toggle:!0},We={parent:"(null|element)",toggle:"boolean"};class Re extends F{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=H.find(Ye);for(const e of n){const t=H.getSelectorFromElement(e),n=H.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return He}static get DefaultType(){return We}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(e=>e!==this._element).map(e=>Re.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(p.trigger(this._element,Se).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove(Oe),this._element.classList.add(Pe),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Pe),this._element.classList.add(Oe,Ne),this._element.style[t]="",p.trigger(this._element,ke)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(p.trigger(this._element,$e).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,$(this._element),this._element.classList.add(Pe),this._element.classList.remove(Oe,Ne);for(const e of this._triggerArray){const t=H.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Pe),this._element.classList.add(Oe),p.trigger(this._element,Le)},this._element,!0)}_isShown(e=this._element){return e.classList.contains(Ne)}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=T(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(Ye);for(const t of e){const e=H.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=H.find(Fe,this._config.parent);return H.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}p.on(document,Ie,Ye,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of H.getMultipleElementsFromSelector(this))Re.getOrCreateInstance(e,{toggle:!1}).toggle()});
+/*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
+var qe=Object.defineProperty,je=Object.defineProperties,ze=Object.getOwnPropertyDescriptors,Be=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,Ue=(e,t,n)=>t in e?qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xe=(e,t)=>{for(var n in t||(t={}))Ke.call(t,n)&&Ue(e,n,t[n]);if(Be)for(var n of Be(t))Ve.call(t,n)&&Ue(e,n,t[n]);return e},Qe=(e,t,n)=>(Ue(e,"symbol"!=typeof t?t+"":t,n),n);const Ze='The calendar has not been initialized, please initialize it using the "init()" method first.',Ge="You specified an incorrect language label or did not specify the required number of values â€‹â€‹for Â«locale.weekdays» or Â«locale.months».",Je="For the Â«multiple» calendar type, the Â«displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.",et=(e,t,n)=>{e.context[t]=n},tt=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",et(e,"isShowInInputMode",!1),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach(e=>e()),et(e,"cleanupHandlers",[])),e.onHide&&e.onHide(e))};function nt(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function st(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function it(e,t,n=5){const s={top:!0,bottom:!0,left:!0,right:!0},i=[];if(!t||!e)return{canShow:s,parentPositions:i};const{bottom:o,top:a}=function(e){const{top:t,left:n}={left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0},{top:s,left:i}=nt(e),{vh:o,vw:a}=st(),r=s-t,l=i-n;return{top:r,bottom:o-(r+e.clientHeight),left:l,right:a-(l+e.clientWidth)}}(e),{top:r,left:l}=nt(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:h}=st(),m=h/2,g=u/2;return[{condition:r<g,position:"top"},{condition:r>g,position:"bottom"},{condition:l<m,position:"left"},{condition:l>m,position:"right"}].forEach(({condition:e,position:t})=>{e&&i.push(t)}),Object.assign(s,{top:c<=a-n,bottom:c<=o-n,left:d<=l,right:d<=h-l}),{canShow:s,parentPositions:i}}const ot=e=>new Date(`${e}T00:00:00`),at=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,rt=e=>e.reduce((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(t,n,s)=>{const i=ot(n),o=ot(s),a=new Date(i.getTime());for(;a<=o;a.setDate(a.getDate()+1))e.push(at(a));return t});return e},[]),lt=(e,t,n,s="")=>{t?e.setAttribute(n,s):e.getAttribute(n)===s&&e.removeAttribute(n)},ct=(e,t,n,s,i,o,a)=>{var r,l,c,d;const u=ot(e.context.displayDateMin)>ot(o)||ot(e.context.displayDateMax)<ot(o)||(null==(r=e.context.disableDates)?void 0:r.includes(o))||!e.selectionMonthsMode&&"current"!==a||!e.selectionYearsMode&&ot(o).getFullYear()!==t;lt(n,u,"data-vc-date-disabled"),s&&lt(s,u,"aria-disabled","true"),s&&lt(s,u,"tabindex","-1"),lt(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),lt(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),lt(n,null==(l=e.selectedWeekends)?void 0:l.includes(i),"data-vc-date-weekend");const h=(null==(c=e.selectedHolidays)?void 0:c[0])?rt(e.selectedHolidays):[];if(lt(n,h.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),s&&s.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),s&&s.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=ot(e.context.selectedDates[0]),s=ot(e.context.selectedDates[e.context.selectedDates.length-1]),i=ot(o);lt(n,i>t&&i<s,"data-vc-date-selected","middle")}},dt=(e,t)=>{const n=ot(e),s=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-s);const i=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+i)/864e5+1)/7);return{year:n.getFullYear(),week:o}},ut=(e,t,n,s,i,o)=>{const a=ot(i).getDay(),r="string"==typeof e.locale&&e.locale.length?e.locale:"en",l=document.createElement("div");let c;l.className=e.styles.date,l.dataset.vcDate=i,l.dataset.vcDateMonth=o,l.dataset.vcDateWeekDay=String(a),("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.role="gridcell",c.ariaLabel=((e,t)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,{dateStyle:"long",timeZone:"UTC"}))(i,r),c.dataset.vcDateBtn="",c.innerText=String(s),l.appendChild(c)),e.enableWeekNumbers&&((e,t,n)=>{const s=dt(n,e.firstWeekday);s&&(t.dataset.vcDateWeekNumber=String(s.week))})(e,l,i),((e,t,n)=>{var s,i,o,a,r;const l=null==(s=e.disableWeekdays)?void 0:s.includes(n),c=e.disableAllDates&&!!(null==(i=e.context.enableDates)?void 0:i[0]);!l&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(a=e.context.disableDates)?void 0:a.includes(t))||(e.context.disableDates.push(t),null==(r=e.context.disableDates)||r.sort((e,t)=>+new Date(e)-+new Date(t)))})(e,i,a),ct(e,t,l,c,a,i,o),n.appendChild(l),e.onCreateDateEls&&e.onCreateDateEls(e,l)},ht=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),s=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach((n,i)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+i);const a=o.getMonth(),r=o.getFullYear(),l=(new Date(r,a,1).getDay()-e.firstWeekday+7)%7,c=new Date(r,a+1,0).getDate();((e,t,n,s,i)=>{let o=new Date(n,s,0).getDate()-(i-1);const a=0===s?n-1:n,r=0===s?12:s<10?`0${s}`:s;for(let s=i;s>0;s--,o++)ut(e,n,t,o,`${a}-${r}-${o}`,"prev")})(e,n,r,a,l),((e,t,n,s,i)=>{for(let o=1;o<=n;o++){const n=new Date(s,i,o);ut(e,s,t,o,at(n),"current")}})(e,n,c,r,a),((e,t,n,s,i,o)=>{const a=o+n,r=7*Math.ceil(a/7)-a,l=i+1===12?s+1:s,c=i+1===12?"01":i+2<10?`0${i+2}`:i+2;for(let n=1;n<=r;n++){const i=n<10?`0${n}`:String(n);ut(e,s,t,n,`${l}-${c}-${i}`,"next")}})(e,n,c,r,a,l),((e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach(([n,s])=>((e,t,n,s)=>{var i;const o=s.querySelector(`[data-vc-date="${t}"]`),a=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!a)return;if((null==n?void 0:n.modifier)&&a.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const r=document.createElement("div");r.className=e.styles.datePopup,r.dataset.vcDatePopup="",r.innerHTML=e.sanitizerHTML(n.html),a.ariaExpanded="true",a.ariaLabel=`${a.ariaLabel}, ${null==(i=null==r?void 0:r.textContent)?void 0:i.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/&nbsp;/g," ")}`,o.appendChild(r),requestAnimationFrame(()=>{if(!r)return;const{canShow:e}=it(o,r),t=e.bottom?o.offsetHeight:-r.offsetHeight,n=e.left&&!e.right?o.offsetWidth-r.offsetWidth/2:!e.left&&e.right?r.offsetWidth/2:0;Object.assign(r.style,{left:`${n}px`,top:`${t}px`})})})(e,n,s,t)))})(e,n),((e,t,n,s,i)=>{if(!e.enableWeekNumbers)return;s.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",s.appendChild(o);const a=document.createElement("div");a.className=e.styles.weekNumbersContent,a.dataset.vcWeekNumbers="content",s.appendChild(a);const r=document.createElement("button");r.type="button",r.className=e.styles.weekNumber;const l=i.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=l[0===t?6:7*t].dataset.vcDate,s=dt(n,e.firstWeekday);if(!s)return;const i=r.cloneNode(!0);i.innerText=String(s.week),i.dataset.vcWeekNumber=String(s.week),i.dataset.vcWeekYear=String(s.year),i.role="rowheader",i.ariaLabel=`${s.week}`,a.appendChild(i)}})(e,l,c,s[i],n)})},mt=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,gt=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,ft=e=>`\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,pt=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,_t={ArrowNext:(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev:(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime:e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",Dates:e=>`<div class="${e.styles.dates}" data-vc="dates" role="grid" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,DateRangeTooltip:e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Month:e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months:e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week:e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers:e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year:e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years:e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`},vt=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,n)=>{const s=(n.match(/\[(.*?)\]/)||[])[1],i=(e=>_t[e])(n.replace(/[/\s\n\t]|\[(.*?)\]/g,"")),o=i?i(e,null!=s?s:null):"";return e.sanitizerHTML(o)}).replace(/[\n\t]/g,""),bt=(e,t)=>{const n={default:mt,month:gt,year:pt,multiple:ft};if(Object.keys(n).forEach(t=>{const s=t;e.layouts[s].length||(e.layouts[s]=n[s](e))}),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),s=e.context.mainElement.querySelector('[data-vc="grid"]'),i=t.closest('[data-vc="column"]');return n&&e.context.mainElement.removeChild(n),s&&(s.dataset.vcGrid="hidden"),i&&(i.dataset.vcColumn=e.context.currentType),void(i&&(i.innerHTML=e.sanitizerHTML(vt(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(vt(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(((e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),(t,n)=>{const s=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(s)}).replace(/[\n\t]/g,""))(e,vt(e,e.layouts[e.context.currentType])))},yt=(e,t,n,s)=>{e.style.visibility=n?"hidden":"",t.style.visibility=s?"hidden":""},wt=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&n&&{default:()=>((e,t,n)=>{const s=ot(at(new Date(e.context.selectedYear,e.context.selectedMonth,1))),i=new Date(s.getTime()),o=new Date(s.getTime());i.setMonth(i.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const a=ot(e.context.dateMin),r=ot(e.context.dateMax);e.selectionYearsMode||(a.setFullYear(s.getFullYear()),r.setFullYear(s.getFullYear()));const l=!e.selectionMonthsMode||i.getFullYear()<a.getFullYear()||i.getFullYear()===a.getFullYear()&&i.getMonth()<a.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>r.getFullYear()||o.getFullYear()===r.getFullYear()&&o.getMonth()>r.getMonth()-(e.context.displayMonthsCount-1);yt(t,n,l,c)})(e,t,n),year:()=>((e,t,n)=>{const s=ot(e.context.dateMin),i=ot(e.context.dateMax),o=!!(s.getFullYear()&&e.context.displayYear-7<=s.getFullYear()),a=!!(i.getFullYear()&&e.context.displayYear+7>=i.getFullYear());yt(t,n,o,a)})(e,t,n)}["multiple"===e.context.currentType?"default":e.context.currentType]()},xt=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),s=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach(t=>null==t?void 0:t.forEach((t,n)=>((e,t,n,s,i)=>{const o=new Date(s.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),a=new Date(s.setMonth(e.context.selectedMonth+n)).getMonth(),r=e.context.locale.months.long[a],l=t.closest('[data-vc="column"]');l&&(l.ariaLabel=`${r} ${o}`);const c={month:{id:a,label:r},year:{id:o,label:o}};t.innerText=String(c[i].label),t.dataset[`vc${i.charAt(0).toUpperCase()+i.slice(1)}`]=String(c[i].id),t.ariaLabel=`${e.labels[i]} ${c[i].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[i]||"only-arrows"===d[i];u&&(t.tabIndex=-1),t.disabled=u})(e,t,n,s,t.dataset.vc)))},Dt=(e,t,n,s,i)=>{var o;const a={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};i&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[n]))||o.forEach(e=>{e.removeAttribute(a[n].selected),e.removeAttribute(a[n].aria)}),et(e,a[n].selectedProperty,Number(t.dataset[a[n].value])),xt(e),"year"===n&&wt(e)),s&&(t.setAttribute(a[n].selected,""),t.setAttribute(a[n].aria,"true"))},Et=(e,t)=>{var n;if("multiple"!==e.type)return{currentValue:null,columnID:0};const s=e.context.mainElement.querySelectorAll('[data-vc="column"]'),i=Array.from(s).findIndex(e=>e.closest(`[data-vc-column="${t}"]`));return{currentValue:i>=0?Number(null==(n=s[i].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(i,0)}},Mt=(e,t,n,s,i,o,a)=>{const r=t.cloneNode(!1);return r.className=e.styles.monthsMonth,r.innerText=s,r.ariaLabel=i,r.role="gridcell",r.dataset.vcMonthsMonth=`${a}`,o&&(r.ariaDisabled="true"),o&&(r.tabIndex=-1),r.disabled=o,Dt(e,r,"month",n===a,!1),r},Tt=(e,t)=>{var n,s;const i=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=i?Number(i.dataset.vcYear):e.context.selectedYear,a=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;et(e,"currentType","month"),bt(e,t),xt(e);const r=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!r)return;const l=e.monthsToSwitch>1?e.context.locale.months.long.map((t,n)=>a-e.monthsToSwitch*n).concat(e.context.locale.months.long.map((t,n)=>a+e.monthsToSwitch*n)).filter(e=>e>=0&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=ot(e.context.dateMin),s=ot(e.context.dateMax),i=e.context.displayMonthsCount-1,{columnID:d}=Et(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=s.getFullYear()&&t>s.getMonth()-i+d||o>s.getFullYear()||t!==a&&!l.includes(t),h=Mt(e,c,a,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);r.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(s=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||s.focus()},At=(e,t,n,s,i)=>`\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${s}" ${i?"disabled":""}>\n  </label>\n`,Ct=(e,t,n,s,i,o,a)=>`\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${s}" max="${i}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}">\n  </label>\n`,St=(e,t,n,s)=>{({hour:()=>et(e,"selectedHours",n),minute:()=>et(e,"selectedMinutes",n)})[s](),et(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},kt=(e,t)=>{var n;return(null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},$t=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),Lt=(e,t,n,s)=>{e.value=n,t.value=s},It=(e,t,n,s,i,o,a)=>{const r={hour:(r,l,c)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const d=Number(kt(l,e.context.selectedKeeping));if(!(d<=o&&d>=a))return Lt(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));Lt(n,t,$t(l),kt(l,e.context.selectedKeeping)),r>12&&((e,t,n)=>{t&&n&&(et(e,"selectedKeeping",n),t.innerText=n)})(e,s,"PM"),St(e,c,$t(l),i)},24:()=>{if(!(r<=o&&r>=a))return Lt(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));Lt(n,t,l,l),St(e,c,l,i)}}[e.selectionTimeMode]()},minute:(s,r,l)=>{if(!(s<=o&&s>=a))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,l,!0));n.value=r,t.value=r,St(e,l,r,i)}},l=e=>{const t=Number(n.value),s=n.value.padStart(2,"0");r[i]&&r[i](t,s,e)};return n.addEventListener("change",l),()=>{n.removeEventListener("change",l)}},Nt=(e,t,n,s,i)=>{const o=o=>{const a=Number(t.value),r=t.value.padStart(2,"0"),l="hour"===i,c=24===e.selectionTimeMode,d=a>0&&a<12;l&&!c&&((e,t,n)=>{t&&(et(e,"selectedKeeping",n),t.innerText=n)})(e,s,0===a||d?"AM":"PM"),((e,t,n,s,i)=>{t.value=i,St(e,n,i,s)})(e,n,o,i,!l||c||d?r:$t(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},Ot=e=>e.setAttribute("data-vc-input-focus",""),Pt=e=>e.removeAttribute("data-vc-input-focus"),Ft=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce((n,s,i)=>[...n,{id:i,titleShort:e.context.locale.weekdays.short[i],titleLong:s,isWeekend:t.includes(i)}],[]),s=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),s.forEach(s=>{const i=n.cloneNode(!0);i.innerText=s.titleShort,i.className=e.styles.weekDay,i.role="columnheader",i.ariaLabel=s.titleLong,i.dataset.vcWeekDay=String(s.id),s.isWeekend&&(i.dataset.vcWeekDayOff=""),t.appendChild(i)})})},Yt=(e,t,n,s,i)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(i),o.ariaLabel=String(i),o.role="gridcell",o.dataset.vcYearsYear=`${i}`,s&&(o.ariaDisabled="true"),s&&(o.tabIndex=-1),o.disabled=s,Dt(e,o,"year",n===i,!1),o},Ht=(e,t)=>{var n;const s=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;et(e,"currentType","year"),bt(e,t),xt(e),wt(e);const i=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!i)return;const o="multiple"!==e.type||e.context.selectedYear===s?0:1,a=document.createElement("button");a.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<ot(e.context.dateMin).getFullYear()+o||t>ot(e.context.dateMax).getFullYear(),r=Yt(e,a,s,n,t);i.appendChild(r),e.onCreateYearEls&&e.onCreateYearEls(e,r)}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus()},Wt={value:!1,set:()=>Wt.value=!0,check:()=>Wt.value},Rt=(e,t)=>e.dataset.vcTheme=t,qt=(e,t)=>{if(Rt(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||Wt.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach(t=>Rt(t,e.matches?"dark":"light"))};t.addEventListener?t.addEventListener("change",n):t.addListener(n),Wt.set()},jt=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),zt=e=>{const t={default:()=>{Ft(e),ht(e)},multiple:()=>{Ft(e),ht(e)},month:()=>Tt(e),year:()=>Ht(e)};(e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?((e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,s=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t);if(!n||"system"===n.getAttribute(s))return void qt(e,t);const i=n.getAttribute(s);i?(Rt(e.context.mainElement,i),((e,t,n)=>{new MutationObserver(e=>{for(let s=0;s<e.length;s++)if(e[s].attributeName===t){n();break}}).observe(e,{attributes:!0})})(n,s,()=>{const t=n.getAttribute(s);t&&Rt(e.context.mainElement,t)})):qt(e,t)})(e,window.matchMedia("(prefers-color-scheme: dark)")):Rt(e.context.mainElement,e.selectedTheme):Rt(e.context.mainElement,"light")})(e),(e=>{var t,n,s,i,o,a,r,l;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(Ge);Array.from({length:7},(t,n)=>((e,t,n)=>{const s=new Date(`1978-01-0${t+1}T00:00:00.000Z`),i=s.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=s.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(jt(i)),e.context.locale.weekdays.long.push(jt(o))})(e,n,e.locale)),Array.from({length:12},(t,n)=>((e,t,n)=>{const s=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),i=s.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=s.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(jt(i)),e.context.locale.months.long.push(jt(o))})(e,n,e.locale))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(i=null==(s=e.locale)?void 0:s.weekdays)?void 0:i.long[6])&&(null==(a=null==(o=e.locale)?void 0:o.months)?void 0:a.short[11])&&(null==(l=null==(r=e.locale)?void 0:r.months)?void 0:l.long[11])))throw new Error(Ge);et(e,"locale",Xe({},e.locale))}})(e),bt(e),xt(e),wt(e),(e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,s]=[e.timeMinHour,e.timeMaxHour],[i,o]=[e.timeMinMinute,e.timeMaxMinute],a=e.context.selectedKeeping?kt(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,r="range"===e.timeControls;var l;t.innerHTML=e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${At("hour",e.styles.timeHour,e.labels,e.context.selectedHours,r)}\n      ${At("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,r)}\n      ${12===e.selectionTimeMode?(l=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${l}" data-vc-time="keeping" ${r?"disabled":""}>${l}</button>`):""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${Ct("hour",e.styles.timeRange,e.labels,n,s,e.timeStepHour,a)}\n      ${Ct("minute",e.styles.timeRange,e.labels,i,o,e.timeStepMinute,e.context.selectedMinutes)}\n    </div>\n  `),((e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),s=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),i=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),a=t.querySelector('[data-vc-time="keeping"]');if(!(n&&s&&i&&o))return;const r=e=>{e.target===n&&Ot(i),e.target===s&&Ot(o)},l=e=>{e.target===n&&Pt(i),e.target===s&&Pt(o)};t.addEventListener("mouseover",r),t.addEventListener("mouseout",l),It(e,n,i,a,"hour",e.timeMaxHour,e.timeMinHour),It(e,s,o,a,"minute",e.timeMaxMinute,e.timeMinMinute),Nt(e,n,i,a,"hour"),Nt(e,s,o,a,"minute"),a&&((e,t,n,s,i)=>{t.addEventListener("click",o=>{const a="AM"===e.context.selectedKeeping?"PM":"AM",r=kt(e.context.selectedHours,a);Number(r)<=s&&Number(r)>=i?(et(e,"selectedKeeping",a),n.value=r,St(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)})})(e,a,n,e.timeMaxHour,e.timeMinHour)})(e,t)})(e),t[e.context.currentType]()},Bt=e=>{const t=t=>{var n;const s=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==s.localName)return;const i=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=i.indexOf(s);if(-1===o)return;const a=(r=i[o]).hasAttribute("data-vc-date-btn")?7:r.hasAttribute("data-vc-months-month")?4:r.hasAttribute("data-vc-years-year")?5:1;var r;const l=(0,{ArrowUp:()=>Math.max(0,o-a),ArrowDown:()=>Math.min(i.length-1,o+a),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(i.length-1,o+1)}[t.key])();null==(n=i[l])||n.focus()};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},Kt=(e,t)=>{const n=ot(at(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),et(e,"selectedMonth",n.getMonth()),et(e,"selectedYear",n.getFullYear()),xt(e),wt(e),ht(e)},Vt=e=>void 0===e.enableDateToggle||("function"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),Ut=(e,t,n)=>{const s=t.dataset.vcDate,i=t.closest("[data-vc-date][data-vc-date-selected]"),o=Vt(e);if(i&&!o)return;const a=i?e.context.selectedDates.filter(e=>e!==s):n?[...e.context.selectedDates,s]:[s];et(e,"selectedDates",a)},Xt=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const s=e.context.mainElement.getBoundingClientRect(),i=n.getBoundingClientRect();t.style.left=i.left-s.left+i.width/2+"px",t.style.top=i.bottom-s.top-i.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,i,s))},Qt={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},Zt=(e,t,n)=>{var s,i,o;if(!(null==(i=null==(s=Qt.self)?void 0:s.context)?void 0:i.selectedDates[0]))return;const a=at(e);(null==(o=Qt.self.context.disableDates)?void 0:o.includes(a))||(Qt.self.context.mainElement.querySelectorAll(`[data-vc-date="${a}"]`).forEach(e=>e.dataset.vcDateHover=""),t.forEach(e=>e.dataset.vcDateHover="first"),n.forEach(e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"}))},Gt=()=>{var e,t;(null==(t=null==(e=Qt.self)?void 0:e.context)?void 0:t.mainElement)&&Qt.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e=>e.removeAttribute("data-vc-date-hover"))},Jt=e=>t=>{const n=t.target;Qt.isHovering||(Qt.isHovering=!0,requestAnimationFrame(()=>{e(n),Qt.isHovering=!1}))},en=Jt(e=>{var t,n;if(!e||!(null==(n=null==(t=Qt.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return Qt.lastDateEl=null,Xt(Qt.self,Qt.tooltipEl,null),void Gt();const s=e.closest("[data-vc-date]");if(!s||Qt.lastDateEl===s)return;Qt.lastDateEl=s,Xt(Qt.self,Qt.tooltipEl,s),Gt();const i=s.dataset.vcDate,o=ot(Qt.self.context.selectedDates[0]),a=ot(i),r=Qt.self.context.mainElement.querySelectorAll(`[data-vc-date="${Qt.self.context.selectedDates[0]}"]`),l=Qt.self.context.mainElement.querySelectorAll(`[data-vc-date="${i}"]`),[c,d]=o<a?[r,l]:[l,r],[u,h]=o<a?[o,a]:[a,o];for(let e=new Date(u);e<=h;e.setDate(e.getDate()+1))Zt(e,c,d)}),tn=Jt(e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&Qt.lastDateEl)return Qt.lastDateEl=null,void Xt(Qt.self,Qt.tooltipEl,null);t&&Qt.lastDateEl!==t&&(Qt.lastDateEl=t,Xt(Qt.self,Qt.tooltipEl,t))}),nn=e=>{Qt.self&&"Escape"===e.key&&(Qt.lastDateEl=null,et(Qt.self,"selectedDates",[]),Qt.self.context.mainElement.removeEventListener("mousemove",en),Qt.self.context.mainElement.removeEventListener("keydown",nn),Xt(Qt.self,Qt.tooltipEl,null),Gt())},sn=()=>{null!==Qt.timeoutId&&clearTimeout(Qt.timeoutId),Qt.timeoutId=setTimeout(()=>{Qt.lastDateEl=null,Xt(Qt.self,Qt.tooltipEl,null),Gt()},50)},on=(e,t)=>{Qt.self=e,Qt.lastDateEl=t,Gt(),e.disableDatesGaps&&(Qt.rangeMin=Qt.rangeMin?Qt.rangeMin:e.context.displayDateMin,Qt.rangeMax=Qt.rangeMax?Qt.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(Qt.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),s=t&&!Vt(e)?[n,n]:t&&Vt(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];et(e,"selectedDates",s),e.context.selectedDates.length>1&&e.context.selectedDates.sort((e,t)=>+new Date(e)-+new Date(t))}({set:()=>(e.disableDatesGaps&&(()=>{var e,t,n,s;if(!(null==(n=null==(t=null==(e=Qt.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(s=Qt.self.context.disableDates)?void 0:s[0]))return;const i=ot(Qt.self.context.selectedDates[0]),[o,a]=Qt.self.context.disableDates.map(e=>ot(e)).reduce(([e,t],n)=>[i>=n?n:e,i<n&&null===t?n:t],[null,null]);o&&et(Qt.self,"displayDateMin",at(new Date(o.setDate(o.getDate()+1)))),a&&et(Qt.self,"displayDateMax",at(new Date(a.setDate(a.getDate()-1)))),Qt.self.disableDatesPast&&!Qt.self.disableAllDates&&ot(Qt.self.context.displayDateMin)<ot(Qt.self.context.dateToday)&&et(Qt.self,"displayDateMin",Qt.self.context.dateToday)})(),Xt(Qt.self,Qt.tooltipEl,t),Qt.self.context.mainElement.removeEventListener("mousemove",tn),Qt.self.context.mainElement.removeEventListener("mouseleave",sn),Qt.self.context.mainElement.removeEventListener("keydown",nn),Qt.self.context.mainElement.addEventListener("mousemove",en),Qt.self.context.mainElement.addEventListener("mouseleave",sn),Qt.self.context.mainElement.addEventListener("keydown",nn),()=>{Qt.self.context.mainElement.removeEventListener("mousemove",en),Qt.self.context.mainElement.removeEventListener("mouseleave",sn),Qt.self.context.mainElement.removeEventListener("keydown",nn)}),reset:()=>{const[n,s]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],i=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=rt([`${n}:${s}`]).filter(t=>!e.context.disableDates.includes(t)),a=i?e.enableEdgeDatesOnly?[n,s]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(et(e,"selectedDates",a),e.disableDatesGaps&&(et(e,"displayDateMin",Qt.rangeMin),et(e,"displayDateMax",Qt.rangeMax)),Qt.self.context.mainElement.removeEventListener("mousemove",en),Qt.self.context.mainElement.removeEventListener("mouseleave",sn),Qt.self.context.mainElement.removeEventListener("keydown",nn),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(Qt.self.context.mainElement.removeEventListener("mousemove",tn),Qt.self.context.mainElement.removeEventListener("mouseleave",sn),Xt(Qt.self,Qt.tooltipEl,null)),e.context.selectedDates[0]&&(Qt.self.context.mainElement.addEventListener("mousemove",tn),Qt.self.context.mainElement.addEventListener("mouseleave",sn),Xt(Qt.self,Qt.tooltipEl,t)),()=>{Qt.self.context.mainElement.removeEventListener("mousemove",tn),Qt.self.context.mainElement.removeEventListener("mouseleave",sn)}}})[1===e.context.selectedDates.length?"set":"reset"]()},an=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t=>{const n=t.querySelector("[data-vc-date-btn]"),s=t.dataset.vcDate,i=ot(s).getDay();ct(e,e.context.selectedYear,t,n,i,s,"current")})},rn=["month","year"],ln=(e,t,n)=>{const{currentValue:s,columnID:i}=Et(e,t);return"month"===e.context.currentType&&i>=0?n-i:"year"===e.context.currentType&&e.context.selectedYear!==s?n-1:n},cn=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};rn.forEach(s=>{n[s]&&t.target&&((e,t,n)=>{var s;const i=t.target,o=i.closest(`[data-vc="${n}"]`),a={year:()=>Ht(e,i),month:()=>Tt(e,i)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return a[n]();const r=i.closest(`[data-vc-${n}s-${n}]`);if(r)return((e,t,n,s)=>{var i;({year:()=>{if("multiple"===e.type)return((e,t)=>{const n=ln(e,"year",Number(t.dataset.vcYearsYear)),s=ot(e.context.dateMin),i=ot(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:a}=Et(e,"year"),r=e.context.selectedMonth<s.getMonth()&&n<=s.getFullYear(),l=e.context.selectedMonth>i.getMonth()-o+a&&n>=i.getFullYear(),c=n<s.getFullYear(),d=n>i.getFullYear(),u=r||c?s.getFullYear():l||d?i.getFullYear():n,h=r||c?s.getMonth():l||d?i.getMonth()-o+a:e.context.selectedMonth;et(e,"selectedYear",u),et(e,"selectedMonth",h)})(e,s);et(e,"selectedYear",Number(s.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return((e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),s=ln(e,"month",Number(t.dataset.vcMonthsMonth)),i=Number(n.dataset.vcYear),o=ot(e.context.dateMin),a=ot(e.context.dateMax),r=s<o.getMonth()&&i<=o.getFullYear(),l=s>a.getMonth()&&i>=a.getFullYear();et(e,"selectedYear",i),et(e,"selectedMonth",r?o.getMonth():l?a.getMonth():s)})(e,s);et(e,"selectedMonth",Number(s.dataset.vcMonthsMonth))}})[n](),{year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}[n](),e.context.currentType!==e.type?(et(e,"currentType",e.type),zt(e),null==(i=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||i.focus()):Dt(e,s,n,!0,!0)})(e,t,n,r);const l=i.closest('[data-vc="grid"]'),c=i.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&l&&!c)&&(et(e,"currentType",e.type),zt(e),null==(s=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||s.focus())})(e,t,s)})},dn=e=>{const t=t=>{((e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))Kt(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const s={prev:-15,next:15}[n.dataset.vcArrow];et(e,"displayYear",e.context.displayYear+s),Ht(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}})(e,t),((e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),s=t.target.closest('[data-vc="column"]'),i=s?s.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!i[0])return;const o=Number(n.dataset.vcWeekDay),a=Array.from(i).filter(e=>Number(e.dataset.vcDateWeekDay)===o);e.onClickWeekDay(e,o,a,t)})(e,t),((e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),s=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!s[0])return;const i=Number(n.innerText),o=Number(n.dataset.vcWeekYear),a=Array.from(s).filter(e=>Number(e.dataset.vcDateWeekNumber)===i);e.onClickWeekNumber(e,i,o,a,t)})(e,t),((e,t)=>{var n;const s=t.target,i=s.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!i)return;const o=i.closest("[data-vc-date]");({single:()=>Ut(e,o,!1),multiple:()=>Ut(e,o,!0),"multiple-ranged":()=>on(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort((e,t)=>+new Date(e)-+new Date(t)),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const a=s.closest('[data-vc-date-month="prev"]'),r=s.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?Kt(e,"prev"):an(e),next:()=>e.enableMonthChangeOnDayClick?Kt(e,"next"):an(e),current:()=>an(e)})[a?"prev":r?"next":"current"]()})(e,t),cn(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},un=(e,t)=>"today"===e?(()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)})():e instanceof Date||"number"==typeof e||"string"==typeof e?rt([e])[0]:t,hn=(e,t,n)=>{et(e,"selectedMonth",t),et(e,"selectedYear",n),et(e,"displayYear",n)},mn=e=>{et(e,"currentType",e.type),(e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(Je);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(Je);et(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)})(e),(e=>{var t,n,s;const i=un(e.dateMin,e.dateMin),o=un(e.dateMax,e.dateMax),a=un(e.displayDateMin,i),r=un(e.displayDateMax,o);et(e,"dateToday",un(e.dateToday,e.dateToday)),et(e,"displayDateMin",a?ot(i)>=ot(a)?i:a:i),et(e,"displayDateMax",r?ot(o)<=ot(r)?o:r:o);const l=e.disableDatesPast&&!e.disableAllDates&&ot(a)<ot(e.context.dateToday);et(e,"displayDateMin",l||e.disableAllDates?e.context.dateToday:a),et(e,"displayDateMax",e.disableAllDates?e.context.dateToday:r),et(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?rt(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort((e,t)=>+new Date(e)-+new Date(t)),et(e,"enableDates",e.enableDates[0]?rt(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&et(e,"disableDates",e.context.disableDates.filter(t=>!e.context.enableDates.includes(t))),e.context.enableDates.length>1&&e.context.enableDates.sort((e,t)=>+new Date(e)-+new Date(t)),(null==(s=e.context.enableDates)?void 0:s[0])&&e.disableAllDates&&(et(e,"displayDateMin",e.context.enableDates[0]),et(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),et(e,"dateMin",e.displayDisabledDates?i:e.context.displayDateMin),et(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)})(e),(e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=ot(rt(e.selectedDates)[0]);return void hn(e,t.getMonth(),t.getFullYear())}if((e=>{const t=t=>{const n=new Date(t);hn(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,s=new Date,new Date(n).getTime()>s.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?rt(e.selectedDates)[0]:e.displayDateMin;return t(ot(un(n,e.displayDateMin))),!0}var n,s;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?rt(e.selectedDates)[0]:e.displayDateMax;return t(ot(un(n,e.displayDateMax))),!0}return!1})(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,s=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;hn(e,n?Number(e.selectedMonth):ot(e.context.dateToday).getMonth(),s?Number(e.selectedYear):ot(e.context.dateToday).getFullYear())})(e),(e=>{var t;et(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?rt(e.selectedDates):[])})(e),(e=>{var t,n,s;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error("The value of the time property can be: false, 12 or 24.");const i=12===e.selectionTimeMode,o=i?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[a,r,l]=null!=(s=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?s:[];a?i&&!l&&(l="AM"):(a=i?$t(String(e.timeMinHour)):String(e.timeMinHour),r=String(e.timeMinMinute),l=i?Number($t(String(e.timeMinHour)))>=12?"PM":"AM":null),et(e,"selectedHours",a.padStart(2,"0")),et(e,"selectedMinutes",r.padStart(2,"0")),et(e,"selectedKeeping",l),et(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${l?` ${l}`:""}`)})(e)},gn=(e,{year:t,month:n,dates:s,time:i,locale:o},a=!0)=>{var r;const l={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?l.year:e.context.selectedYear,e.selectedMonth=n?l.month:e.context.selectedMonth,e.selectedTime=i?l.time:e.context.selectedTime,e.selectedDates="only-first"===s&&(null==(r=e.context.selectedDates)?void 0:r[0])?[e.context.selectedDates[0]]:!0===s?l.dates:e.context.selectedDates,o&&et(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),mn(e),a&&zt(e),e.selectedYear=l.year,e.selectedMonth=l.month,e.selectedDates=l.dates,e.selectedTime=l.time,"multiple-ranged"===e.selectionDatesMode&&s&&on(e,null)},fn=(e,t)=>{if(!e.context.isInit)throw new Error(Ze);gn(e,Xe(Xe({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},pn=(e,t)=>{const n=Object.keys(t);for(let s=0;s<n.length;s++){const i=n[s];"object"!=typeof e[i]||"object"!=typeof t[i]||t[i]instanceof Date||Array.isArray(t[i])?void 0!==t[i]&&(e[i]=t[i]):pn(e[i],t[i])}},_n=(e,t,n)=>{if(!e)return;const s="auto"===n?function(e,t){const n="left";if(!t||!e)return n;const{canShow:s,parentPositions:i}=it(e,t),o=s.left&&s.right;return(o&&s.bottom?"center":o&&s.top?["top","center"]:Array.isArray(i)?["bottom"===i[0]?"top":"bottom",...i.slice(1)]:i)||n}(e,t):n,i={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(s)?s[0]:"bottom",a=Array.isArray(s)?s[1]:s;t.dataset.vcPosition=o;const{top:r,left:l}=nt(e),c=r+i[o];let d=l+i[a];const{vw:u}=st();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},vn=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();et(e,"cleanupHandlers",[]),et(e,"isShowInInputMode",!0),_n(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{_n(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener("resize",t),e.context.cleanupHandlers.push(()=>window.removeEventListener("resize",t));const n=t=>{"Escape"===t.key&&tt(e)};document.addEventListener("keydown",n),e.context.cleanupHandlers.push(()=>document.removeEventListener("keydown",n));const s=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||tt(e)};document.addEventListener("click",s,{capture:!0}),e.context.cleanupHandlers.push(()=>document.removeEventListener("click",s,{capture:!0})),e.onShow&&e.onShow(e)},bn={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},yn={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class wn{constructor(){Qe(this,"type","default"),Qe(this,"inputMode",!1),Qe(this,"positionToInput","left"),Qe(this,"firstWeekday",1),Qe(this,"monthsToSwitch",1),Qe(this,"themeAttrDetect","html[data-theme]"),Qe(this,"locale","en"),Qe(this,"dateToday","today"),Qe(this,"dateMin","1970-01-01"),Qe(this,"dateMax","2470-12-31"),Qe(this,"displayDateMin"),Qe(this,"displayDateMax"),Qe(this,"displayDatesOutside",!0),Qe(this,"displayDisabledDates",!1),Qe(this,"displayMonthsCount"),Qe(this,"disableDates",[]),Qe(this,"disableAllDates",!1),Qe(this,"disableDatesPast",!1),Qe(this,"disableDatesGaps",!1),Qe(this,"disableWeekdays",[]),Qe(this,"disableToday",!1),Qe(this,"enableDates",[]),Qe(this,"enableEdgeDatesOnly",!0),Qe(this,"enableDateToggle",!0),Qe(this,"enableWeekNumbers",!1),Qe(this,"enableMonthChangeOnDayClick",!0),Qe(this,"enableJumpToSelectedDate",!1),Qe(this,"selectionDatesMode","single"),Qe(this,"selectionMonthsMode",!0),Qe(this,"selectionYearsMode",!0),Qe(this,"selectionTimeMode",!1),Qe(this,"selectedDates",[]),Qe(this,"selectedMonth"),Qe(this,"selectedYear"),Qe(this,"selectedHolidays",[]),Qe(this,"selectedWeekends",[0,6]),Qe(this,"selectedTime"),Qe(this,"selectedTheme","system"),Qe(this,"timeMinHour",0),Qe(this,"timeMaxHour",23),Qe(this,"timeMinMinute",0),Qe(this,"timeMaxMinute",59),Qe(this,"timeControls","all"),Qe(this,"timeStepHour",1),Qe(this,"timeStepMinute",1),Qe(this,"sanitizerHTML",e=>e),Qe(this,"onClickDate"),Qe(this,"onClickWeekDay"),Qe(this,"onClickWeekNumber"),Qe(this,"onClickTitle"),Qe(this,"onClickMonth"),Qe(this,"onClickYear"),Qe(this,"onClickArrow"),Qe(this,"onChangeTime"),Qe(this,"onChangeToInput"),Qe(this,"onCreateDateRangeTooltip"),Qe(this,"onCreateDateEls"),Qe(this,"onCreateMonthEls"),Qe(this,"onCreateYearEls"),Qe(this,"onInit"),Qe(this,"onUpdate"),Qe(this,"onDestroy"),Qe(this,"onShow"),Qe(this,"onHide"),Qe(this,"popups",{}),Qe(this,"labels",Xe({},bn)),Qe(this,"layouts",{default:"",multiple:"",month:"",year:""}),Qe(this,"styles",Xe({},yn))}}const xn=class e extends wn{constructor(t,n){var s;super(),Qe(this,"init",()=>(e=>(et(e,"originalElement",e.context.mainElement.cloneNode(!0)),et(e,"isInit",!0),e.inputMode?(e=>{et(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout(()=>vn(e)):(e=>{const t=document.createElement("div");t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",et(e,"inputModeInit",!0),et(e,"isShowInInputMode",!1),et(e,"mainElement",t),document.body.appendChild(e.context.mainElement),gn(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout(()=>vn(e)),e.onInit&&e.onInit(e),Bt(e),dn(e)})(e)};return e.context.inputElement.addEventListener("click",t),e.context.inputElement.addEventListener("focus",t),()=>{e.context.inputElement.removeEventListener("click",t),e.context.inputElement.removeEventListener("focus",t)}})(e):(mn(e),zt(e),e.onInit&&e.onInit(e),Bt(e),dn(e))))(this)),Qe(this,"update",e=>fn(this,e)),Qe(this,"destroy",()=>(e=>{var t,n,s,i,o;if(!e.context.isInit)throw new Error(Ze);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(s=null==(n=e.context.inputElement)?void 0:n.replaceWith)||s.call(n,e.context.originalElement),et(e,"inputElement",void 0)):null==(o=(i=e.context.mainElement).replaceWith)||o.call(i,e.context.originalElement),et(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)})(this)),Qe(this,"show",()=>vn(this)),Qe(this,"hide",()=>tt(this)),Qe(this,"set",(e,t)=>((e,t,n)=>{pn(e,t),e.context.isInit&&fn(e,n)})(this,e,t)),Qe(this,"context"),this.context=(e=>je(e,ze({locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}})))(Xe({},this.context)),et(this,"mainElement","string"==typeof t?null!=(s=e.memoizedElements.get(t))?s:this.queryAndMemoize(t):t),n&&pn(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error((e=>`${e} is not found, check the first argument passed to new Calendar.`)(t));return e.memoizedElements.set(t,n),n}};Qe(xn,"memoizedElements",new Map);let Dn=xn;const En=".bs.datepicker",Mn=".data-api",Tn=`change${En}`,An=`show${En}`,Cn=`shown${En}`,Sn=`hide${En}`,kn=`hidden${En}`,$n=`click${En}${Mn}`,Ln=`focusin${En}${Mn}`,In='[data-bs-toggle="datepicker"]',Nn={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},On={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Pn extends F{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Nn}static get DefaultType(){return On}static get NAME(){return"datepicker"}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||C(this._element)||this._isShown||p.trigger(this._element,An).defaultPrevented||(this._calendar.show(),this._isShown=!0,p.trigger(this._element,Cn))}hide(){this._config.inline||this._calendar&&this._isShown&&(p.trigger(this._element,Sn).defaultPrevented||(this._calendar.hide(),this._isShown=!1,p.trigger(this._element,kn)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Dn(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}p.trigger(this._element,Tn,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,s]=e.split("-");return new Date(t,n-1,s)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:s}=this._config;return"function"==typeof s?s(t,n):s&&"object"==typeof s?new Intl.DateTimeFormat(n,s).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" â€“ ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}p.on(document,$n,In,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Pn.getOrCreateInstance(this).toggle())}),p.on(document,Ln,In,function(){"INPUT"===this.tagName&&Pn.getOrCreateInstance(this).show()}),p.on(document,`DOMContentLoaded${En}${Mn}`,()=>{for(const e of document.querySelectorAll(`${In}[data-bs-inline="true"]`))Pn.getOrCreateInstance(e)});const Fn=".bs.dialog",Yn=`show${Fn}`,Hn=`shown${Fn}`,Wn=`hide${Fn}`,Rn=`hidden${Fn}`,qn=`hidePrevented${Fn}`,jn=`cancel${Fn}`,zn=`click${Fn}.data-api`,Bn="dialog-static",Kn="dialog-open",Vn="dialog-nonmodal",Un={backdrop:!0,keyboard:!0,modal:!0},Xn={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Qn extends F{constructor(e,t){super(e,t),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Un}static get DefaultType(){return Xn}static get NAME(){return"dialog"}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||p.trigger(this._element,Yn,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add(Kn)):(this._element.classList.add(Vn),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,p.trigger(this._element,Hn,{relatedTarget:e})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(p.trigger(this._element,Wn).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){p.off(this._element,Fn),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove(Vn),this._isTransitioning=!1,document.querySelector("dialog.dialog[open]:not(.dialog-nonmodal)")||document.body.classList.remove(Kn),p.trigger(this._element,Rn)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){p.trigger(this._element,qn).defaultPrevented||(this._element.classList.add(Bn),this._queueCallback(()=>{this._element.classList.remove(Bn)},this._element))}_addEventListeners(){p.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(p.trigger(this._element,jn),this.hide()):this._triggerBackdropTransition()}),p.on(this._element,"keydown",e=>{"Escape"!==e.key||this._config.modal||(e.preventDefault(),this._config.keyboard&&(p.trigger(this._element,jn),this.hide()))}),p.on(this._element,"click",e=>{e.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}p.on(document,zn,'[data-bs-toggle="dialog"]',function(e){const t=H.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),p.one(t,Yn,e=>{e.defaultPrevented||p.one(t,Rn,()=>{A(this)&&this.focus()})});const n=y.getDataAttributes(this),s=this.closest("dialog[open]");if(s&&s!==t){Qn.getOrCreateInstance(t,n).show(this);const e=Qn.getInstance(s);return void(e&&e.hide())}Qn.getOrCreateInstance(t,n).toggle(this)}),W(Qn);const Zn=Math.min,Gn=Math.max,Jn=Math.round,es=Math.floor,ts=e=>({x:e,y:e}),ns={left:"right",right:"left",bottom:"top",top:"bottom"},ss={start:"end",end:"start"};function is(e,t,n){return Gn(e,Zn(t,n))}function os(e,t){return"function"==typeof e?e(t):e}function as(e){return e.split("-")[0]}function rs(e){return e.split("-")[1]}function ls(e){return"x"===e?"y":"x"}function cs(e){return"y"===e?"height":"width"}const ds=new Set(["top","bottom"]);function us(e){return ds.has(as(e))?"y":"x"}function hs(e){return ls(us(e))}function ms(e){return e.replace(/start|end/g,e=>ss[e])}const gs=["left","right"],fs=["right","left"],ps=["top","bottom"],_s=["bottom","top"];function vs(e){return e.replace(/left|right|bottom|top/g,e=>ns[e])}function bs(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function ys(e){const{x:t,y:n,width:s,height:i}=e;return{width:s,height:i,top:n,left:t,right:t+s,bottom:n+i,x:t,y:n}}function ws(e,t,n){let{reference:s,floating:i}=e;const o=us(t),a=hs(t),r=cs(a),l=as(t),c="y"===o,d=s.x+s.width/2-i.width/2,u=s.y+s.height/2-i.height/2,h=s[r]/2-i[r]/2;let m;switch(l){case"top":m={x:d,y:s.y-i.height};break;case"bottom":m={x:d,y:s.y+s.height};break;case"right":m={x:s.x+s.width,y:u};break;case"left":m={x:s.x-i.width,y:u};break;default:m={x:s.x,y:s.y}}switch(rs(t)){case"start":m[a]-=h*(n&&c?-1:1);break;case"end":m[a]+=h*(n&&c?-1:1)}return m}async function xs(e,t){var n;void 0===t&&(t={});const{x:s,y:i,platform:o,rects:a,elements:r,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:m=0}=os(t,e),g=bs(m),f=r[h?"floating"===u?"reference":"floating":u],p=ys(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(f)))||n?f:f.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:l})),_="floating"===u?{x:s,y:i,width:a.floating.width,height:a.floating.height}:a.reference,v=await(null==o.getOffsetParent?void 0:o.getOffsetParent(r.floating)),b=await(null==o.isElement?void 0:o.isElement(v))&&await(null==o.getScale?void 0:o.getScale(v))||{x:1,y:1},y=ys(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:_,offsetParent:v,strategy:l}):_);return{top:(p.top-y.top+g.top)/b.y,bottom:(y.bottom-p.bottom+g.bottom)/b.y,left:(p.left-y.left+g.left)/b.x,right:(y.right-p.right+g.right)/b.x}}const Ds=new Set(["left","top"]);function Es(){return"undefined"!=typeof window}function Ms(e){return Cs(e)?(e.nodeName||"").toLowerCase():"#document"}function Ts(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function As(e){var t;return null==(t=(Cs(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Cs(e){return!!Es()&&(e instanceof Node||e instanceof Ts(e).Node)}function Ss(e){return!!Es()&&(e instanceof Element||e instanceof Ts(e).Element)}function ks(e){return!!Es()&&(e instanceof HTMLElement||e instanceof Ts(e).HTMLElement)}function $s(e){return!(!Es()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Ts(e).ShadowRoot)}const Ls=new Set(["inline","contents"]);function Is(e){const{overflow:t,overflowX:n,overflowY:s,display:i}=Bs(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&!Ls.has(i)}const Ns=new Set(["table","td","th"]);function Os(e){return Ns.has(Ms(e))}const Ps=[":popover-open",":modal"];function Fs(e){return Ps.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Ys=["transform","translate","scale","rotate","perspective"],Hs=["transform","translate","scale","rotate","perspective","filter"],Ws=["paint","layout","strict","content"];function Rs(e){const t=qs(),n=Ss(e)?Bs(e):e;return Ys.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||Hs.some(e=>(n.willChange||"").includes(e))||Ws.some(e=>(n.contain||"").includes(e))}function qs(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const js=new Set(["html","body","#document"]);function zs(e){return js.has(Ms(e))}function Bs(e){return Ts(e).getComputedStyle(e)}function Ks(e){return Ss(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Vs(e){if("html"===Ms(e))return e;const t=e.assignedSlot||e.parentNode||$s(e)&&e.host||As(e);return $s(t)?t.host:t}function Us(e){const t=Vs(e);return zs(t)?e.ownerDocument?e.ownerDocument.body:e.body:ks(t)&&Is(t)?t:Us(t)}function Xs(e,t,n){var s;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=Us(e),o=i===(null==(s=e.ownerDocument)?void 0:s.body),a=Ts(i);if(o){const e=Qs(a);return t.concat(a,a.visualViewport||[],Is(i)?i:[],e&&n?Xs(e):[])}return t.concat(i,Xs(i,[],n))}function Qs(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Zs(e){const t=Bs(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const i=ks(e),o=i?e.offsetWidth:n,a=i?e.offsetHeight:s,r=Jn(n)!==o||Jn(s)!==a;return r&&(n=o,s=a),{width:n,height:s,$:r}}function Gs(e){return Ss(e)?e:e.contextElement}function Js(e){const t=Gs(e);if(!ks(t))return ts(1);const n=t.getBoundingClientRect(),{width:s,height:i,$:o}=Zs(t);let a=(o?Jn(n.width):n.width)/s,r=(o?Jn(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),r&&Number.isFinite(r)||(r=1),{x:a,y:r}}const ei=ts(0);function ti(e){const t=Ts(e);return qs()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ei}function ni(e,t,n,s){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),o=Gs(e);let a=ts(1);t&&(s?Ss(s)&&(a=Js(s)):a=Js(e));const r=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Ts(e))&&t}(o,n,s)?ti(o):ts(0);let l=(i.left+r.x)/a.x,c=(i.top+r.y)/a.y,d=i.width/a.x,u=i.height/a.y;if(o){const e=Ts(o),t=s&&Ss(s)?Ts(s):s;let n=e,i=Qs(n);for(;i&&s&&t!==n;){const e=Js(i),t=i.getBoundingClientRect(),s=Bs(i),o=t.left+(i.clientLeft+parseFloat(s.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(s.paddingTop))*e.y;l*=e.x,c*=e.y,d*=e.x,u*=e.y,l+=o,c+=a,n=Ts(i),i=Qs(n)}}return ys({width:d,height:u,x:l,y:c})}function si(e,t){const n=Ks(e).scrollLeft;return t?t.left+n:ni(As(e)).left+n}function ii(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-si(e,n),y:n.top+t.scrollTop}}const oi=new Set(["absolute","fixed"]);function ai(e,t,n){let s;if("viewport"===t)s=function(e,t){const n=Ts(e),s=As(e),i=n.visualViewport;let o=s.clientWidth,a=s.clientHeight,r=0,l=0;if(i){o=i.width,a=i.height;const e=qs();(!e||e&&"fixed"===t)&&(r=i.offsetLeft,l=i.offsetTop)}const c=si(s);if(c<=0){const e=s.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(s.clientWidth-t.clientWidth-i);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:r,y:l}}(e,n);else if("document"===t)s=function(e){const t=As(e),n=Ks(e),s=e.ownerDocument.body,i=Gn(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),o=Gn(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let a=-n.scrollLeft+si(e);const r=-n.scrollTop;return"rtl"===Bs(s).direction&&(a+=Gn(t.clientWidth,s.clientWidth)-i),{width:i,height:o,x:a,y:r}}(As(e));else if(Ss(t))s=function(e,t){const n=ni(e,!0,"fixed"===t),s=n.top+e.clientTop,i=n.left+e.clientLeft,o=ks(e)?Js(e):ts(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:i*o.x,y:s*o.y}}(t,n);else{const n=ti(e);s={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ys(s)}function ri(e,t){const n=Vs(e);return!(n===t||!Ss(n)||zs(n))&&("fixed"===Bs(n).position||ri(n,t))}function li(e,t,n){const s=ks(t),i=As(t),o="fixed"===n,a=ni(e,!0,o,t);let r={scrollLeft:0,scrollTop:0};const l=ts(0);function c(){l.x=si(i)}if(s||!s&&!o)if(("body"!==Ms(t)||Is(i))&&(r=Ks(t)),s){const e=ni(t,!0,o,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&c();o&&!s&&i&&c();const d=!i||s||o?ts(0):ii(i,r);return{x:a.left+r.scrollLeft-l.x-d.x,y:a.top+r.scrollTop-l.y-d.y,width:a.width,height:a.height}}function ci(e){return"static"===Bs(e).position}function di(e,t){if(!ks(e)||"fixed"===Bs(e).position)return null;if(t)return t(e);let n=e.offsetParent;return As(e)===n&&(n=n.ownerDocument.body),n}function ui(e,t){const n=Ts(e);if(Fs(e))return n;if(!ks(e)){let t=Vs(e);for(;t&&!zs(t);){if(Ss(t)&&!ci(t))return t;t=Vs(t)}return n}let s=di(e,t);for(;s&&Os(s)&&ci(s);)s=di(s,t);return s&&zs(s)&&ci(s)&&!Rs(s)?n:s||function(e){let t=Vs(e);for(;ks(t)&&!zs(t);){if(Rs(t))return t;if(Fs(t))return null;t=Vs(t)}return null}(e)||n}const hi={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:s,strategy:i}=e;const o="fixed"===i,a=As(s),r=!!t&&Fs(t.floating);if(s===a||r&&o)return n;let l={scrollLeft:0,scrollTop:0},c=ts(1);const d=ts(0),u=ks(s);if((u||!u&&!o)&&(("body"!==Ms(s)||Is(a))&&(l=Ks(s)),ks(s))){const e=ni(s);c=Js(s),d.x=e.x+s.clientLeft,d.y=e.y+s.clientTop}const h=!a||u||o?ts(0):ii(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+d.x+h.x,y:n.y*c.y-l.scrollTop*c.y+d.y+h.y}},getDocumentElement:As,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:s,strategy:i}=e;const o=[..."clippingAncestors"===n?Fs(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let s=Xs(e,[],!1).filter(e=>Ss(e)&&"body"!==Ms(e)),i=null;const o="fixed"===Bs(e).position;let a=o?Vs(e):e;for(;Ss(a)&&!zs(a);){const t=Bs(a),n=Rs(a);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&i&&oi.has(i.position)||Is(a)&&!n&&ri(e,a))?s=s.filter(e=>e!==a):i=t,a=Vs(a)}return t.set(e,s),s}(t,this._c):[].concat(n),s],a=o[0],r=o.reduce((e,n)=>{const s=ai(t,n,i);return e.top=Gn(s.top,e.top),e.right=Zn(s.right,e.right),e.bottom=Zn(s.bottom,e.bottom),e.left=Gn(s.left,e.left),e},ai(t,a,i));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},getOffsetParent:ui,getElementRects:async function(e){const t=this.getOffsetParent||ui,n=this.getDimensions,s=await n(e.floating);return{reference:li(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Zs(e);return{width:t,height:n}},getScale:Js,isElement:Ss,isRTL:function(e){return"rtl"===Bs(e).direction}};function mi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function gi(e,t,n,s){void 0===s&&(s={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:r="function"==typeof IntersectionObserver,animationFrame:l=!1}=s,c=Gs(e),d=i||o?[...c?Xs(c):[],...Xs(t)]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});const u=c&&r?function(e,t){let n,s=null;const i=As(e);function o(){var e;clearTimeout(n),null==(e=s)||e.disconnect(),s=null}return function a(r,l){void 0===r&&(r=!1),void 0===l&&(l=1),o();const c=e.getBoundingClientRect(),{left:d,top:u,width:h,height:m}=c;if(r||t(),!h||!m)return;const g={rootMargin:-es(u)+"px "+-es(i.clientWidth-(d+h))+"px "+-es(i.clientHeight-(u+m))+"px "+-es(d)+"px",threshold:Gn(0,Zn(1,l))||1};let f=!0;function p(t){const s=t[0].intersectionRatio;if(s!==l){if(!f)return a();s?a(!1,s):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==s||mi(c,e.getBoundingClientRect())||a(),f=!1}try{s=new IntersectionObserver(p,{...g,root:i.ownerDocument})}catch(e){s=new IntersectionObserver(p,g)}s.observe(e)}(!0),o}(c,n):null;let h,m=-1,g=null;a&&(g=new ResizeObserver(e=>{let[s]=e;s&&s.target===c&&g&&(g.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=g)||e.observe(t)})),n()}),c&&!l&&g.observe(c),g.observe(t));let f=l?ni(e):null;return l&&function t(){const s=ni(e);f&&!mi(f,s)&&n(),f=s,h=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=g)||e.disconnect(),g=null,l&&cancelAnimationFrame(h)}}const fi=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:i,y:o,placement:a,middlewareData:r}=t,l=await async function(e,t){const{placement:n,platform:s,elements:i}=e,o=await(null==s.isRTL?void 0:s.isRTL(i.floating)),a=as(n),r=rs(n),l="y"===us(n),c=Ds.has(a)?-1:1,d=o&&l?-1:1,u=os(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:g}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return r&&"number"==typeof g&&(m="end"===r?-1*g:g),l?{x:m*d,y:h*c}:{x:h*c,y:m*d}}(t,e);return a===(null==(n=r.offset)?void 0:n.placement)&&null!=(s=r.arrow)&&s.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:a}}}}},pi=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:r={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=os(e,t),c={x:n,y:s},d=await xs(t,l),u=us(as(i)),h=ls(u);let m=c[h],g=c[u];if(o){const e="y"===h?"bottom":"right";m=is(m+d["y"===h?"top":"left"],m,m-d[e])}if(a){const e="y"===u?"bottom":"right";g=is(g+d["y"===u?"top":"left"],g,g-d[e])}const f=r.fn({...t,[h]:m,[u]:g});return{...f,data:{x:f.x-n,y:f.y-s,enabled:{[h]:o,[u]:a}}}}}},_i=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,s;const{placement:i,middlewareData:o,rects:a,initialPlacement:r,platform:l,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:f=!0,...p}=os(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const _=as(i),v=us(r),b=as(r)===r,y=await(null==l.isRTL?void 0:l.isRTL(c.floating)),w=h||(b||!f?[vs(r)]:function(e){const t=vs(e);return[ms(e),t,ms(t)]}(r)),x="none"!==g;!h&&x&&w.push(...function(e,t,n,s){const i=rs(e);let o=function(e,t,n){switch(e){case"top":case"bottom":return n?t?fs:gs:t?gs:fs;case"left":case"right":return t?ps:_s;default:return[]}}(as(e),"start"===n,s);return i&&(o=o.map(e=>e+"-"+i),t&&(o=o.concat(o.map(ms)))),o}(r,f,g,y));const D=[r,...w],E=await xs(t,p),M=[];let T=(null==(s=o.flip)?void 0:s.overflows)||[];if(d&&M.push(E[_]),u){const e=function(e,t,n){void 0===n&&(n=!1);const s=rs(e),i=hs(e),o=cs(i);let a="x"===i?s===(n?"end":"start")?"right":"left":"start"===s?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=vs(a)),[a,vs(a)]}(i,a,y);M.push(E[e[0]],E[e[1]])}if(T=[...T,{placement:i,overflows:M}],!M.every(e=>e<=0)){var A,C;const e=((null==(A=o.flip)?void 0:A.index)||0)+1,t=D[e];if(t&&("alignment"!==u||v===us(t)||T.every(e=>us(e.placement)!==v||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=null==(C=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:C.placement;if(!n)switch(m){case"bestFit":{var S;const e=null==(S=T.filter(e=>{if(x){const t=us(e.placement);return t===v||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:S[0];e&&(n=e);break}case"initialPlacement":n=r}if(i!==n)return{reset:{placement:n}}}return{}}}},vi=(e,t,n)=>{const s=new Map,i={platform:hi,...n},o={...i.platform,_c:s};return(async(e,t,n)=>{const{placement:s="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,r=o.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:d,y:u}=ws(c,s,l),h=s,m={},g=0;for(let n=0;n<r.length;n++){const{name:o,fn:f}=r[n],{x:p,y:_,data:v,reset:b}=await f({x:d,y:u,initialPlacement:s,placement:h,strategy:i,middlewareData:m,rects:c,platform:a,elements:{reference:e,floating:t}});d=null!=p?p:d,u=null!=_?_:u,m={...m,[o]:{...m[o],...v}},b&&g<=50&&(g++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):b.rects),({x:d,y:u}=ws(c,h,l))),n=-1)}return{x:d,y:u,placement:h,strategy:i,middlewareData:m}})(e,t,{...i,platform:o})},bi={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},yi=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),s={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==bi[t]&&(s[t]=n)}else s.xs=e;return s},wi=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let s=e.xs||t;const i=["sm","md","lg","xl","2xl"];for(const t of i)n>=bi[t]&&e[t]&&(s=e[t]);return s},xi=e=>{const t=[];for(const n of Object.keys(bi)){const s=bi[n],i=window.matchMedia(`(min-width: ${s}px)`);i.addEventListener("change",e),t.push({mql:i,handler:e})}return t},Di=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},Ei="dropdown",Mi=".bs.dropdown",Ti=".data-api",Ai="ArrowUp",Ci="ArrowDown",Si="ArrowLeft",ki="ArrowRight",$i="Home",Li="End",Ii="Enter",Ni=" ",Oi=`hide${Mi}`,Pi=`hidden${Mi}`,Fi=`show${Mi}`,Yi=`shown${Mi}`,Hi=`click${Mi}${Ti}`,Wi=`keydown${Mi}${Ti}`,Ri=`keyup${Mi}${Ti}`,qi="show",ji='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',zi=`${ji}.${qi}`,Bi=".dropdown-menu",Ki=".dropdown-submenu",Vi=".dropdown-submenu > .dropdown-item",Ui=".dropdown-item:not(.disabled):not(:disabled)",Xi="bottom-start",Qi=e=>L()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),Zi=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Gi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:Xi,reference:"toggle",submenuTrigger:"both",submenuDelay:100},Ji={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)",submenuTrigger:"string",submenuDelay:"number"};class eo extends F{constructor(e,t){if(void 0===vi)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList.contains("dropdown-submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=H.next(this._element,Bi)[0]||H.prev(this._element,Bi)[0]||H.findOne(Bi,this._parent),this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Ei}toggle(){return this._isShown()?this.hide():this.show()}show(){if(C(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!p.trigger(this._element,Fi,e).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))p.on(e,"mouseover",k);this._element.focus(),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add(qi),this._element.classList.add(qi),this._parent.classList.add(qi),p.trigger(this._element,Yi,e)}}hide(){if(C(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(e){if(!p.trigger(this._element,Oi,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))p.off(e,"mouseover",k);this._disposeFloating(),this._menu.classList.remove(qi),this._element.classList.remove(qi),this._parent.classList.remove(qi),this._element.setAttribute("aria-expanded","false"),y.removeDataAttribute(this._menu,"placement"),y.removeDataAttribute(this._menu,"display"),p.trigger(this._element,Pi,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!M(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${Ei.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void y.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:M(this._config.reference)?e=T(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=gi(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:M(this._config.reference)?T(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),s=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,s.placement,s.middleware)}_isShown(){return this._menu.classList.contains(qi)}_getPlacement(){const e=this._responsivePlacements?wi(this._responsivePlacements,Xi):this._config.placement;return Qi(e)}_parseResponsivePlacements(){this._responsivePlacements=yi(this._config.placement,Xi),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=xi(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){Di(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[fi("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),_i({fallbackPlacements:this._getFallbackPlacements()}),pi({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...I(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}async _applyFloatingPosition(e,t,n,s){if(!t.isConnected)return null;const{x:i,y:o,placement:a}=await vi(e,t,{placement:n,middleware:s});return t.isConnected?(Object.assign(t.style,{position:"absolute",left:`${i}px`,top:`${o}px`,margin:"0"}),y.setDataAttribute(t,"placement",a),a):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(p.on(this._menu,"mouseenter",Vi,e=>{this._onSubmenuTriggerEnter(e)}),p.on(this._menu,"mouseleave",Ki,e=>{this._onSubmenuLeave(e)}),p.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||p.on(this._menu,"click",Vi,e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(Vi);if(!t)return;const n=t.closest(Ki),s=H.findOne(Bi,n);s&&(this._cancelSubmenuCloseTimeout(s),this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n))}_onSubmenuLeave(e){const t=e.target.closest(Ki),n=H.findOne(Bi,t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(Vi);if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(Ki),s=H.findOne(Bi,n);s&&(this._openSubmenus.has(s)?this._closeSubmenu(s,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add(qi),n.classList.add(qi);const s=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,s),p.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=H.find(`${Ki} ${Bi}.${qi}`,e);for(const e of n){const t=e.closest(Ki);this._closeSubmenu(e,t)}const s=H.findOne(Vi,t),i=this._openSubmenus.get(e);i&&i(),this._openSubmenus.delete(e),p.off(e,"mouseenter"),s&&s.setAttribute("aria-expanded","false"),e.classList.remove(qi),t.classList.remove(qi),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(Ki);this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=H.find(`${Ki} > ${Bi}.${qi}`,t);for(const t of n){const n=t.closest(Ki);n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const s=n,i=Qi("end-start"),o=[fi({mainAxis:0,crossAxis:-4}),_i({fallbackPlacements:[Qi("start-start"),Qi("end-end"),Qi("start-end")]}),pi({padding:8})],a=()=>this._applyFloatingPosition(s,t,i,o);return a(),gi(s,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),s={x:e.clientX,y:e.clientY},i={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=L()?n.right:n.left,a={x:o,y:n.top},r={x:o,y:n.bottom};return this._pointInTriangle(s,i,a,r)}_pointInTriangle(e,t,n,s){const i=Zi(e,t,n),o=Zi(e,n,s),a=Zi(e,s,t);return!((i<0||o<0||a<0)&&(i>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(Bi)||this._menu,s=H.find(`:scope > li > ${Ui}, :scope > ${Ui}`,n).filter(e=>A(e));s.length&&O(s,t,e===Ci,!s.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,s=L(),i=s?Si:ki,o=s?ki:Si,a=n.closest(Ki),r=a&&n.matches(Vi);if((t===Ii||t===Ni)&&r){e.preventDefault(),e.stopPropagation();const t=H.findOne(Bi,a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=H.findOne(Ui,t);e&&e.focus()})),!0}if(t===i&&r){e.preventDefault(),e.stopPropagation();const t=H.findOne(Bi,a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=H.findOne(Ui,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(Bi),s=t?.closest(Ki);if(s){e.preventDefault(),e.stopPropagation();const n=H.findOne(Vi,s);return this._closeSubmenu(t,s),n&&n.focus(),!0}}if(t===$i||t===Li){e.preventDefault(),e.stopPropagation();const s=n.closest(Bi),i=H.find(`:scope > li > ${Ui}, :scope > ${Ui}`,s).filter(e=>A(e));return i.length&&(t===$i?i[0]:i[i.length-1]).focus(),!0}return!1}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=H.find(zi);for(const n of t){const t=eo.getInstance(n);if(!t||!1===t._config.autoClose)continue;const s=e.composedPath(),i=s.includes(t._menu);if(s.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:t._element};"click"===e.type&&(o.clickEvent=e),t._completeHide(o)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,s=[Ai,Ci].includes(e.key),i=[Si,ki].includes(e.key),o=[$i,Li].includes(e.key),a=[Ii,Ni].includes(e.key),r=e.target.matches(Vi);if(!(s||n||i||o||a&&r))return;if(t&&!n)return;const l=this.matches(ji)?this:H.prev(this,ji)[0]||H.next(this,ji)[0]||H.findOne(ji,e.delegateTarget.parentNode);if(!l)return;const c=eo.getOrCreateInstance(l);if(!(i||o||a&&r)||!c._handleSubmenuKeydown(e)){if(s)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(Bi),n=t?.closest(Ki);if(n&&c._openSubmenus.size>0){const e=H.findOne(Vi,n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),l.focus()}}}}p.on(document,Wi,ji,eo.dataApiKeydownHandler),p.on(document,Wi,Bi,eo.dataApiKeydownHandler),p.on(document,Hi,eo.clearMenus),p.on(document,Ri,eo.clearMenus),p.on(document,Hi,ji,function(e){e.preventDefault(),eo.getOrCreateInstance(this).toggle()});const to="backdrop",no="show",so=`mousedown.bs.${to}`,io={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},oo={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ao extends P{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return io}static get DefaultType(){return oo}static get NAME(){return to}show(e){if(!this._config.isVisible)return void I(e);this._append();const t=this._getElement();this._config.isAnimated&&$(t),t.classList.add(no),this._emulateAnimation(()=>{I(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove(no),this._emulateAnimation(()=>{this.dispose(),I(e)})):I(e)}dispose(){this._isAppended&&(p.off(this._element,so),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=T(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),p.on(e,so,()=>{I(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){N(e,this._getElement(),this._config.isAnimated)}}const ro=".bs.focustrap",lo=`focusin${ro}`,co=`keydown.tab${ro}`,uo="backward",ho={autofocus:!0,trapElement:null},mo={autofocus:"boolean",trapElement:"element"};class go extends P{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ho}static get DefaultType(){return mo}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),p.off(document,ro),p.on(document,lo,e=>this._handleFocusin(e)),p.on(document,co,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,p.off(document,ro))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=H.focusableChildren(t);0===n.length?t.focus():this._lastTabNavDirection===uo?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?uo:"forward")}}const fo=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",po=".sticky-top",_o="padding-right",vo="margin-right";class bo{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,_o,t=>t+e),this._setElementAttributes(fo,_o,t=>t+e),this._setElementAttributes(po,vo,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,_o),this._resetElementAttributes(fo,_o),this._resetElementAttributes(po,vo)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const s=this.getWidth();this._applyManipulationCallback(e,e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+s)return;this._saveInitialAttribute(e,t);const i=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(i))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&y.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,e=>{const n=y.getDataAttribute(e,t);null!==n?(y.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(M(e))t(e);else for(const n of H.find(e,this._element))t(n)}}const yo=".bs.offcanvas",wo=".data-api",xo=`load${yo}${wo}`,Do="show",Eo="showing",Mo="hiding",To=".offcanvas.show",Ao=`show${yo}`,Co=`shown${yo}`,So=`hide${yo}`,ko=`hidePrevented${yo}`,$o=`hidden${yo}`,Lo=`resize${yo}`,Io=`click${yo}${wo}`,No=`keydown.dismiss${yo}`,Oo={backdrop:!0,keyboard:!0,scroll:!1},Po={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Fo extends F{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Oo}static get DefaultType(){return Po}static get NAME(){return"offcanvas"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||p.trigger(this._element,Ao,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new bo).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Eo),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Do),this._element.classList.remove(Eo),p.trigger(this._element,Co,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(p.trigger(this._element,So).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mo),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(Do,Mo),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new bo).reset(),p.trigger(this._element,$o)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new ao({className:"offcanvas-backdrop",isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():p.trigger(this._element,ko)}:null})}_initializeFocusTrap(){return new go({trapElement:this._element})}_addEventListeners(){p.on(this._element,No,e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():p.trigger(this._element,ko))})}}p.on(document,Io,'[data-bs-toggle="offcanvas"]',function(e){const t=H.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),C(this))return;p.one(t,$o,()=>{A(this)&&this.focus()});const n=H.findOne(To);n&&n!==t&&Fo.getInstance(n).hide(),Fo.getOrCreateInstance(t).toggle(this)}),p.on(window,xo,()=>{for(const e of H.find(To))Fo.getOrCreateInstance(e).show()}),p.on(window,Lo,()=>{for(const e of H.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Fo.getOrCreateInstance(e).hide()}),W(Fo);const Yo=".bs.strength",Ho=`strengthChange${Yo}`,Wo=["weak","fair","good","strong"],Ro={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},qo={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class jo extends F{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=H.find(".strength-segment",this._element),this._textElement=H.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Ro}static get DefaultType(){return qo}static get NAME(){return"strength"}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?H.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return H.findOne('input[type="password"]',e)}_addEventListeners(){p.on(this._input,"input",()=>this._evaluate()),p.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),p.trigger(this._element,Ho,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,s]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=s?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?Wo.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}p.on(document,`DOMContentLoaded${Yo}.data-api`,()=>{for(const e of H.find("[data-bs-strength]"))jo.getOrCreateInstance(e)});const zo=".bs.otp-input",Bo=`complete${zo}`,Ko=`input${zo}`,Vo={length:6,mask:!1},Uo={length:"number",mask:"boolean"};class Xo extends F{constructor(e,t){super(e,t),this._inputs=H.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Vo}static get DefaultType(){return Uo}static get NAME(){return"otpInput"}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())p.on(t,"input",t=>this._handleInput(t,e)),p.on(t,"keydown",t=>this._handleKeydown(t,e)),p.on(t,"paste",e=>this._handlePaste(e)),p.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:s}=n;if(s.length>1){const e=s.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const i=Math.min(t+e.length,this._inputs.length-1);this._inputs[i].focus()}else s&&t<this._inputs.length-1&&this._inputs[t+1].focus();p.trigger(this._element,Ko,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&p.trigger(this._element,Bo,{value:e})}}p.on(document,`DOMContentLoaded${zo}.data-api`,()=>{for(const e of H.find("[data-bs-otp]"))Xo.getOrCreateInstance(e)});const Qo={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Zo=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Go=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Jo=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!Zo.has(n)||Boolean(Go.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))},ea={allowList:Qo,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},ta={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},na={entry:"(string|element|function|null)",selector:"(string|element)"};class sa extends P{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return ea}static get DefaultType(){return ta}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},na)}_setContent(e,t,n){const s=H.findOne(n,e);s&&((t=this._resolvePossibleFunction(t))?M(t)?this._putElementInTemplate(T(t),s):this._config.html?s.innerHTML=this._maybeSanitize(t):s.textContent=t:s.remove())}_maybeSanitize(e){return this._config.sanitize?function(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const s=(new window.DOMParser).parseFromString(e,"text/html"),i=[].concat(...s.body.querySelectorAll("*"));for(const e of i){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const s=[].concat(...e.attributes),i=[].concat(t["*"]||[],t[n]||[]);for(const t of s)Jo(t,i)||e.removeAttribute(t.nodeName)}return s.body.innerHTML}(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return I(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const ia=new Set(["sanitize","allowList","sanitizeFn"]),oa="fade",aa="show",ra=".tooltip-inner",la=".modal",ca='[data-bs-toggle="tooltip"]',da="hide.bs.modal",ua="hover",ha="focus",ma="click",ga="focusin",fa="mouseenter",pa={AUTO:"auto",TOP:"top",RIGHT:L()?"left":"right",BOTTOM:"bottom",LEFT:L()?"right":"left"},_a={allowList:Qo,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},va={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ba extends F{constructor(e,t){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return _a}static get DefaultType(){return va}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),p.off(this._element.closest(la),da,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=p.trigger(this._element,this.constructor.eventName("show")),t=(S(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),p.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add(aa),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))p.on(e,"mouseover",k);this._queueCallback(()=>{p.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!p.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(aa),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))p.off(e,"mouseover",k);this._activeTrigger[ma]=!1,this._activeTrigger[ha]=!1,this._activeTrigger[ua]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),p.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(oa,aa),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=(e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e})(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add(oa),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new sa({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[ra]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(oa)}_isShown(){return this.tip&&this.tip.classList.contains(aa)}_getPlacement(e){if(this._responsivePlacements){const e=wi(this._responsivePlacements,"top");return pa[e.toUpperCase()]||e}const t=I(this._config.placement,[this,e,this._element]);return pa[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=yi(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=xi(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){Di(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=gi(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const s=this._getFloatingMiddleware(n),i=this._getFloatingConfig(t,s),{x:o,y:a,placement:r,middlewareData:l}=await vi(this._element,e,i);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),y.setDataAttribute(e,"placement",r),n&&l.arrow){const{x:e,y:t}=l.arrow,s=r.startsWith("top")||r.startsWith("bottom");Object.assign(n.style,{left:s&&null!==e?`${e}px`:"",top:s||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return I(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[fi("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),_i({fallbackPlacements:this._config.fallbackPlacements}),pi({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push({name:"arrow",options:s={element:e},async fn(e){const{x:t,y:n,placement:i,rects:o,platform:a,elements:r,middlewareData:l}=e,{element:c,padding:d=0}=os(s,e)||{};if(null==c)return{};const u=bs(d),h={x:t,y:n},m=hs(i),g=cs(m),f=await a.getDimensions(c),p="y"===m,_=p?"top":"left",v=p?"bottom":"right",b=p?"clientHeight":"clientWidth",y=o.reference[g]+o.reference[m]-h[m]-o.floating[g],w=h[m]-o.reference[m],x=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let D=x?x[b]:0;D&&await(null==a.isElement?void 0:a.isElement(x))||(D=r.floating[b]||o.floating[g]);const E=y/2-w/2,M=D/2-f[g]/2-1,T=Zn(u[_],M),A=Zn(u[v],M),C=T,S=D-f[g]-A,k=D/2-f[g]/2+E,$=is(C,k,S),L=!l.arrow&&null!=rs(i)&&k!==$&&o.reference[g]/2-(k<C?T:A)-f[g]/2<0,I=L?k<C?k-C:k-S:0;return{[m]:h[m]+I,data:{[m]:$,centerOffset:k-$-I,...L&&{alignmentOffset:I}},reset:L}}}),n;var s}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...I(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)p.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger[ma]=!(t._isShown()&&t._activeTrigger[ma]),t.toggle()});else if("manual"!==t){const e=t===ua?this.constructor.eventName(fa):this.constructor.eventName(ga),n=t===ua?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");p.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?ha:ua]=!0,t._enter()}),p.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?ha:ua]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},p.on(this._element.closest(la),da,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=y.getDataAttributes(this._element);for(const e of Object.keys(t))ia.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:T(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const ya=e=>{const t=e.target.closest(ca);if(!t)return;const n=ba.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};p.on(document,ga,ca,ya),p.on(document,fa,ca,ya);const wa=".popover-header",xa=".popover-body",Da='[data-bs-toggle="popover"]',Ea={...ba.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},Ma={...ba.DefaultType,content:"(null|string|element|function)"};class Ta extends ba{static get Default(){return Ea}static get DefaultType(){return Ma}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[wa]:this._getTitle(),[xa]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const Aa=e=>{const t=e.target.closest(Da);if(!t)return;"click"===e.type&&e.preventDefault();const n=Ta.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};p.on(document,"click",Da,Aa),p.on(document,"focusin",Da,Aa),p.on(document,"mouseenter",Da,Aa);const Ca=".bs.scrollspy",Sa=`activate${Ca}`,ka=`click${Ca}`,$a=`load${Ca}.data-api`,La="active",Ia="[href]",Na=".nav-link",Oa=`${Na}, .nav-item > ${Na}, .list-group-item`,Pa={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Fa={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ya extends F{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Pa}static get DefaultType(){return Fa}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=T(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(p.off(this._config.target,ka),p.on(this._config.target,ka,Ia,e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,s=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:s,behavior:"smooth"});n.scrollTop=s}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},s=(this._rootElement||document.documentElement).scrollTop,i=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&e){if(n(o),!s)return}else i||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=H.find(Ia,this._config.target);for(const t of e){if(!t.hash||C(t))continue;const e=H.findOne(decodeURI(t.hash),this._element);A(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(La),this._activateParents(e),p.trigger(this._element,Sa,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))H.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add(La);else for(const t of H.parents(e,".nav, .list-group"))for(const e of H.prev(t,Oa))e.classList.add(La)}_clearActiveClass(e){e.classList.remove(La);const t=H.find(`${Ia}.${La}`,e);for(const e of t)e.classList.remove(La)}}p.on(window,$a,()=>{for(const e of H.find('[data-bs-spy="scroll"]'))Ya.getOrCreateInstance(e)});const Ha=".bs.tab",Wa=`hide${Ha}`,Ra=`hidden${Ha}`,qa=`show${Ha}`,ja=`shown${Ha}`,za=`click${Ha}`,Ba=`keydown${Ha}`,Ka=`load${Ha}`,Va="ArrowLeft",Ua="ArrowRight",Xa="ArrowUp",Qa="ArrowDown",Za="Home",Ga="End",Ja="active",er="fade",tr="show",nr=".dropdown-toggle",sr=`:not(${nr})`,ir='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',or=`.nav-link${sr}, .list-group-item${sr}, [role="tab"]${sr}, ${ir}`,ar=`.${Ja}[data-bs-toggle="tab"], .${Ja}[data-bs-toggle="pill"], .${Ja}[data-bs-toggle="list"]`;class rr extends F{constructor(e){super(e),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),p.on(this._element,Ba,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?p.trigger(t,Wa,{relatedTarget:e}):null;p.trigger(e,qa,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add(Ja),this._activate(H.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),p.trigger(e,ja,{relatedTarget:t})):e.classList.add(tr)},e,e.classList.contains(er)))}_deactivate(e,t){e&&(e.classList.remove(Ja),e.blur(),this._deactivate(H.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),p.trigger(e,Ra,{relatedTarget:t})):e.classList.remove(tr)},e,e.classList.contains(er)))}_keydown(e){if(![Va,Ua,Xa,Qa,Za,Ga].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!C(e));let n;if([Za,Ga].includes(e.key))n=t[e.key===Za?0:t.length-1];else{const s=[Ua,Qa].includes(e.key);n=O(t,e.target,s,!0)}n&&(n.focus({preventScroll:!0}),rr.getOrCreateInstance(n).show())}_getChildren(){return H.find(or,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=H.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const s=(e,s)=>{const i=H.findOne(e,n);i&&i.classList.toggle(s,t)};s(nr,Ja),s(".dropdown-menu",tr),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains(Ja)}_getInnerElement(e){return e.matches(or)?e:H.findOne(or,e)}_getOuterElement(e){return e.closest(".nav-item, .list-group-item")||e}}p.on(document,za,ir,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),C(this)||rr.getOrCreateInstance(this).show()}),p.on(window,Ka,()=>{for(const e of H.find(ar))rr.getOrCreateInstance(e)});const lr=".bs.toast",cr=`mouseover${lr}`,dr=`mouseout${lr}`,ur=`focusin${lr}`,hr=`focusout${lr}`,mr=`hide${lr}`,gr=`hidden${lr}`,fr=`show${lr}`,pr=`shown${lr}`,_r="hide",vr="show",br="showing",yr={animation:"boolean",autohide:"boolean",delay:"number"},wr={animation:!0,autohide:!0,delay:5e3};class xr extends F{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return wr}static get DefaultType(){return yr}static get NAME(){return"toast"}show(){p.trigger(this._element,fr).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(_r),$(this._element),this._element.classList.add(vr,br),this._queueCallback(()=>{this._element.classList.remove(br),p.trigger(this._element,pr),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(p.trigger(this._element,mr).defaultPrevented||(this._element.classList.add(br),this._queueCallback(()=>{this._element.classList.add(_r),this._element.classList.remove(br,vr),p.trigger(this._element,gr)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(vr),super.dispose()}isShown(){return this._element.classList.contains(vr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){p.on(this._element,cr,e=>this._onInteraction(e,!0)),p.on(this._element,dr,e=>this._onInteraction(e,!1)),p.on(this._element,ur,e=>this._onInteraction(e,!0)),p.on(this._element,hr,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}W(xr);const Dr=".bs.toggler",Er=`toggle${Dr}`,Mr=`toggled${Dr}`,Tr={attribute:"string",value:"(string|number|boolean)"},Ar={attribute:"class",value:null};class Cr extends F{static get Default(){return Ar}static get DefaultType(){return Tr}static get NAME(){return"toggler"}toggle(){p.trigger(this._element,Er).defaultPrevented||(this._execute(),p.trigger(this._element,Mr))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}return((e,t,n,s,i=null)=>{R(`${"click"}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof i&&i({...t,instances:n});for(const e of n)e[s]()})})(Cr,0,'[data-bs-toggle="toggler"]',"toggle"),{Alert:B,Button:V,Carousel:Ae,Collapse:Re,Datepicker:Pn,Dialog:Qn,Dropdown:eo,Offcanvas:Fo,Strength:jo,OtpInput:Xo,Popover:Ta,ScrollSpy:Ya,Tab:rr,Toast:xr,Toggler:Cr,Tooltip:ba}});
 //# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
index a6b8e03e3fd06eaa11a2f0e85272e9bac9c576bb..065a3dec1abc4befc63336756a21ed13a89cf036 100644 (file)
@@ -1 +1 @@
-{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","handler","delegationFunction","isDelegated","typeEvent","replace","addHandler","oneOff","wrapFunction","fn","relatedTarget","delegateTarget","contains","call","this","handlers","previousFunction","selector","domElements","querySelectorAll","target","parentNode","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","triggerTransitionEnd","isElement","nodeType","getElement","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","Alert","close","defaultPrevented","_destroyElement","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","focus","currentDialog","currentInstance","round","floor","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getOppositeAlignmentPlacement","alignment","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositePlacement","side","getPaddingObject","padding","expandPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","originSides","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflow","overflowX","overflowY","display","tableElements","isTableElement","topLayerSelectors","isTopLayer","some","_e","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","containerType","backdropFilter","willChange","contain","supports","lastTraversableNodeNames","isLastTraversableNode","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","getParentNode","result","assignedSlot","host","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","absoluteOrFixed","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getViewportRect","scrollWidth","scrollHeight","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","getClippingElementAncestors","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","rectsAreEqual","a","b","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","isStart","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","computePosition","mergedOptions","platformWithCache","middleware","validMiddleware","statefulPlacement","resetCount","i","nextX","nextY","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","DEFAULT_PLACEMENT","autoClose","floatingConfig","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_updateFloatingPosition","referenceElement","isConnected","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","finalPlacement","assign","margin","_setupMediaQueryListeners","_getOffset","offsetValue","_getFallbackPlacements","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","shouldAddOffset","centerOffset","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","spy","HOME_KEY","END_KEY","SELECTOR_DROPDOWN_TOGGLE","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Tooltip\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","handler","delegationFunction","isDelegated","typeEvent","replace","addHandler","oneOff","wrapFunction","fn","relatedTarget","delegateTarget","contains","call","this","handlers","previousFunction","selector","domElements","querySelectorAll","target","parentNode","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","triggerTransitionEnd","isElement","nodeType","getElement","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventAction","onEvent","stringSelector","targets","EVENT_CLOSE","EVENT_CLOSED","Alert","close","defaultPrevented","_destroyElement","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__publicField","errorMessages","setContext","context","isShowInInputMode","currentType","mainElement","vcCalendarHidden","cleanupHandlers","forEach","onHide","getOffset","top","bottom","left","right","scrollY","clientTop","scrollX","clientLeft","getViewportDimensions","vw","clientWidth","innerWidth","vh","clientHeight","innerHeight","getAvailablePosition","a","l","canShow","parentPositions","o","s","scrollLeft","scrollTop","i","r","calculateAvailableSpace","height","c","width","d","u","m","h","p","condition","position","assign","getDate","Date","getDateString","getFullYear","String","getMonth","padStart","parseDates","reduce","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getWeekNumber","getDay","ceil","year","week","createDate","locale","createElement","className","styles","date","vcDate","vcDateMonth","vcDateWeekDay","displayDatesOutside","dateBtn","role","ariaLabel","toLocaleString","dateStyle","timeZone","getLocaleString","vcDateBtn","innerText","appendChild","enableWeekNumbers","firstWeekday","vcDateWeekNumber","addWeekNumberForDate","disableWeekdays","disableAllDates","enableDates","sort","setDaysAsDisabled","onCreateDateEls","createDates","selectedYear","selectedMonth","vcDatesDisabled","textContent","setMonth","createDatesFromPrevMonth","createDatesFromCurrentMonth","createDatesFromNextMonth","popups","modifier","html","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","requestAnimationFrame","offsetWidth","handleDay","createDatePopup","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createWeekNumbers","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","components","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","Dates","dates","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","parseLayout","getComponent","createLayouts","default","multiple","layouts","calendar","vc","vcType","tabIndex","application","removeChild","vcGrid","vcColumn","displayMonthsCount","fill","parseMultipleLayout","setVisibilityArrows","visibility","visibilityArrows","monthsToSwitch","dateMin","dateMax","setFullYear","handleDefaultType","displayYear","handleYearType","visibilityTitle","long","label","visibilityHandler","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","focus","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","inputMode","inputElement","onChangeToInput","transformTime24","AM","PM","transformTime12","updateInputAndRange","handleInput$1","updateKeepingTime$1","handleRange","updateKeepingTime","updateInputAndTime","handleMouseOver","handleMouseOut","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","capitalizeFirstLetter","create","matchMedia","media","themeAttrDetect","MutationObserver","attributeName","observe","trackChangesHTMLElement","detectTheme","handleTheme","weekday","getLocaleWeekday","getLocaleMonth","getLocale","timeMinHour","timeMaxHour","timeMinMinute","timeMaxMinute","timeControls","timeContent","timeHour","timeMinute","timeKeeping","btnKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","handleClickKeepingTime","handleTime","createTime","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","state","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","timeoutId","addHoverEffect","vcDateHover","removeHoverEffect","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","handleSelectDateRange","disableDatesGaps","disableDatesPast","updateDisabledDates","reset","updateDateModifier","typeClick","getValue","handleClickMonthOrYear","onClickTitle","handleMultipleYearSelection","handleMultipleMonthSelection","onClickYear","onClickMonth","handleItemClick","handleClickType","handleClick","vcArrow","onClickArrow","handleClickArrow","handleClickWeekDay","onClickWeekNumber","handleClickWeekNumber","single","onClickDate","enableMonthChangeOnDayClick","current","handleClickDate","resolveDate","getTimezoneOffset","getLocalDate","setInitialContext","initAllVariables","initMonthsCount","displayDisabledDates","initRange","enableJumpToSelectedDate","displayClosestValidDate","initSelectedMonthYear","initSelectedDates","selectedTime","initTime","update","isInit","inputModeInit","onUpdate","replaceProperties","isArray","setPosition","findBestPickerPosition","center","vcPosition","body","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","vcInput","onInit","createToInput","handleInput","init","parentElement","replaceWith","originalElement","onDestroy","destroy","__spreadProps","memoizedElements","queryAndMemoize","Calendar","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","dateStr","day","_formatDate","undefined","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","backdrop","modal","Dialog","open","showModal","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","currentDialog","currentInstance","round","floor","createCoords","v","x","y","oppositeSideMap","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getOppositeAlignmentPlacement","alignment","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositePlacement","side","getPaddingObject","padding","expandPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","options","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","originSides","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflow","overflowX","overflowY","display","tableElements","isTableElement","topLayerSelectors","isTopLayer","some","_e","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","containerType","backdropFilter","willChange","contain","supports","lastTraversableNodeNames","isLastTraversableNode","getNodeScroll","getParentNode","result","assignedSlot","host","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","paddingLeft","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","absoluteOrFixed","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getViewportRect","scrollWidth","scrollHeight","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","getClippingElementAncestors","_c","firstClippingAncestor","clippingRect","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","rectsAreEqual","b","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","onMove","io","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","isStart","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","acc","computePosition","mergedOptions","platformWithCache","middleware","validMiddleware","statefulPlacement","resetCount","nextX","nextY","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","disposeBreakpointListeners","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","floatingConfig","submenuTrigger","submenuDelay","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","defaultConfig","isConnected","finalPlacement","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","digits","clipboardData","getData","lastIndex","select","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","regex","allowList","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","centerOffset","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","spy","SELECTOR_DROPDOWN_TOGGLE","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute","eventActionOnPlugin","Plugin","instances"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values â€‹â€‹for Â«locale.weekdays» or Â«locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the Â«multiple» calendar type, the Â«displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return{top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!t||!e)return{canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return[{condition:i<p,position:\"top\"},{condition:i>p,position:\"bottom\"},{condition:r<h,position:\"left\"},{condition:r>h,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&l.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==o?void 0:o.querySelector(\"[data-vc-date-btn]\");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(i=e.context.disableDates)?void 0:i.includes(o))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(l),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(o),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===o?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&l<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),(\"current\"===o||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.role=\"gridcell\",c.ariaLabel=getLocaleString(l,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?\"01\":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,\"prev\")}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const o=document.createElement(\"b\");o.className=e.styles.weekNumbersTitle,o.innerText=\"#\",o.dataset.vcWeekNumbers=\"title\",a.appendChild(o);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=l.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const l=i.cloneNode(!0);l.innerText=String(a.week),l.dataset.vcWeekNumber=String(a.week),l.dataset.vcWeekYear=String(a.year),l.role=\"rowheader\",l.ariaLabel=`${a.week}`,s.appendChild(l)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],l=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),o=getComponent(l),s=o?o(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),l=t.closest('[data-vc=\"column\"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid=\"hidden\"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()<s.getFullYear()||l.getFullYear()===s.getFullYear()&&l.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[l]||\"only-arrows\"===d[l];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled=\"true\"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,l)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${l?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,l,o,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${l}\" step=\"${o}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,o,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener(\"click\",o),()=>{t.removeEventListener(\"click\",o)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),l)},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,l)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[l]&&i[l](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",o),()=>{t.removeEventListener(\"input\",o)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),l=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),o=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,l,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,\"hour\"),handleRange(e,a,o,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const l=n.cloneNode(!0);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role=\"columnheader\",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=\"\"),t.appendChild(l)}))}))},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role=\"gridcell\",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled=\"true\"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,\"year\",n===l,!1),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!l)return;const o=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},canToggleSelection=e=>void 0===e.enableDateToggle||(\"function\"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest(\"[data-vc-date][data-vc-date-selected]\"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+\"px\",t.style.top=l.bottom-a.top-l.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${l}\"]`),[c,d]=o<s?[i,r]:[r,i],[u,m]=o<s?[o,s]:[s,o];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l<n&&null===t?n:t]),[null,null]);o&&setContext(state.self,\"displayDateMin\",getDateString(new Date(o.setDate(o.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!l)return;const o=l.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return\"month\"===e.context.currentType&&l>=0?n-l:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>l.getMonth()-o+s&&n>=l.getFullYear(),c=n<a.getFullYear(),d=n>l.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<o.getMonth()&&l<=o.getFullYear(),r=a>s.getMonth()&&l>=s.getFullYear();setContext(e,\"selectedYear\",l),setContext(e,\"selectedMonth\",i?o.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||l.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc=\"grid\"]'),c=l.closest('[data-vc=\"column\"]');(e.context.currentType===n&&o||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),l=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,\"displayDateMax\",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r=\"AM\"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,o){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};return e.context.inputElement.addEventListener(\"click\",t),e.context.inputElement.addEventListener(\"focus\",t),()=>{e.context.inputElement.removeEventListener(\"click\",t),e.context.inputElement.removeEventListener(\"focus\",t)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const l=n[a];\"object\"!=typeof e[l]||\"object\"!=typeof t[l]||t[l]instanceof Date||Array.isArray(t[l])?void 0!==t[l]&&(e[l]=t[l]):replaceProperties(e[l],t[l])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return(o&&a.bottom?\"center\":o&&a.top?[\"top\",\"center\"]:Array.isArray(l)?[\"bottom\"===l[0]?\"top\":\"bottom\",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element â€”\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
index 737f8788e5ca53bb855d3554c4ece79915a985ee..df0e377655c3f62669ad79f2688d4fd1d26a3a07 100644 (file)
@@ -1,8 +1,9 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
+import { Calendar } from 'vanilla-calendar-pro';
 import { computePosition, autoUpdate, offset, flip, shift, arrow } from '@floating-ui/dom';
 
 /**
@@ -750,6 +751,34 @@ const enableDismissTrigger = (component, method = 'hide') => {
     instance[method]();
   });
 };
+const eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {
+  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {
+    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element));
+    if (typeof callback === 'function') {
+      callback({
+        ...data,
+        instances
+      });
+    }
+    for (const instance of instances) {
+      instance[method]();
+    }
+  });
+};
+const eventAction = (onEvent, stringSelector, callback) => {
+  const selector = `${stringSelector}:not(.disabled):not(:disabled)`;
+  EventHandler.on(document, onEvent, selector, function (event) {
+    if (['A', 'AREA'].includes(this.tagName)) {
+      event.preventDefault();
+    }
+    const selector = SelectorEngine.getSelectorFromElement(this);
+    const targets = selector ? SelectorEngine.find(selector) : [this];
+    callback({
+      targets,
+      event
+    });
+  });
+};
 
 /**
  * --------------------------------------------------------------------------
@@ -763,11 +792,11 @@ const enableDismissTrigger = (component, method = 'hide') => {
  * Constants
  */
 
-const NAME$f = 'alert';
-const DATA_KEY$a = 'bs.alert';
-const EVENT_KEY$b = `.${DATA_KEY$a}`;
-const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
+const NAME$j = 'alert';
+const DATA_KEY$e = 'bs.alert';
+const EVENT_KEY$f = `.${DATA_KEY$e}`;
+const EVENT_CLOSE = `close${EVENT_KEY$f}`;
+const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
 const CLASS_NAME_FADE$4 = 'fade';
 const CLASS_NAME_SHOW$7 = 'show';
 
@@ -778,7 +807,7 @@ const CLASS_NAME_SHOW$7 = 'show';
 class Alert extends BaseComponent {
   // Getters
   static get NAME() {
-    return NAME$f;
+    return NAME$j;
   }
 
   // Public
@@ -818,13 +847,13 @@ enableDismissTrigger(Alert, 'close');
  * Constants
  */
 
-const NAME$e = 'button';
-const DATA_KEY$9 = 'bs.button';
-const EVENT_KEY$a = `.${DATA_KEY$9}`;
-const DATA_API_KEY$6 = '.data-api';
+const NAME$i = 'button';
+const DATA_KEY$d = 'bs.button';
+const EVENT_KEY$e = `.${DATA_KEY$d}`;
+const DATA_API_KEY$9 = '.data-api';
 const CLASS_NAME_ACTIVE$3 = 'active';
-const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="button"]';
-const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+const SELECTOR_DATA_TOGGLE$9 = '[data-bs-toggle="button"]';
+const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$e}${DATA_API_KEY$9}`;
 
 /**
  * Class definition
@@ -833,7 +862,7 @@ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
 class Button extends BaseComponent {
   // Getters
   static get NAME() {
-    return NAME$e;
+    return NAME$i;
   }
 
   // Public
@@ -847,9 +876,9 @@ class Button extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$7, event => {
+EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$9, event => {
   event.preventDefault();
-  const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
+  const button = event.target.closest(SELECTOR_DATA_TOGGLE$9);
   const data = Button.getOrCreateInstance(button);
   data.toggle();
 });
@@ -866,23 +895,23 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$7, event
  * Constants
  */
 
-const NAME$d = 'swipe';
-const EVENT_KEY$9 = '.bs.swipe';
-const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+const NAME$h = 'swipe';
+const EVENT_KEY$d = '.bs.swipe';
+const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
+const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
+const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
+const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
+const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
 const POINTER_TYPE_TOUCH = 'touch';
 const POINTER_TYPE_PEN = 'pen';
 const CLASS_NAME_POINTER_EVENT = 'pointer-event';
 const SWIPE_THRESHOLD = 40;
-const Default$c = {
+const Default$g = {
   endCallback: null,
   leftCallback: null,
   rightCallback: null
 };
-const DefaultType$c = {
+const DefaultType$g = {
   endCallback: '(function|null)',
   leftCallback: '(function|null)',
   rightCallback: '(function|null)'
@@ -907,18 +936,18 @@ class Swipe extends Config {
 
   // Getters
   static get Default() {
-    return Default$c;
+    return Default$g;
   }
   static get DefaultType() {
-    return DefaultType$c;
+    return DefaultType$g;
   }
   static get NAME() {
-    return NAME$d;
+    return NAME$h;
   }
 
   // Public
   dispose() {
-    EventHandler.off(this._element, EVENT_KEY$9);
+    EventHandler.off(this._element, EVENT_KEY$d);
   }
 
   // Private
@@ -986,26 +1015,26 @@ class Swipe extends Config {
  * Constants
  */
 
-const NAME$c = 'carousel';
-const DATA_KEY$8 = 'bs.carousel';
-const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-const DATA_API_KEY$5 = '.data-api';
-const ARROW_LEFT_KEY$1 = 'ArrowLeft';
-const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+const NAME$g = 'carousel';
+const DATA_KEY$c = 'bs.carousel';
+const EVENT_KEY$c = `.${DATA_KEY$c}`;
+const DATA_API_KEY$8 = '.data-api';
+const ARROW_LEFT_KEY$2 = 'ArrowLeft';
+const ARROW_RIGHT_KEY$2 = 'ArrowRight';
 const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
 
 const ORDER_NEXT = 'next';
 const ORDER_PREV = 'prev';
 const DIRECTION_LEFT = 'left';
 const DIRECTION_RIGHT = 'right';
-const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-const EVENT_SLID = `slid${EVENT_KEY$8}`;
-const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$8}`;
-const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
+const EVENT_SLID = `slid${EVENT_KEY$c}`;
+const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
+const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$c}`;
+const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
+const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
+const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$c}${DATA_API_KEY$8}`;
+const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
 const CLASS_NAME_CAROUSEL = 'carousel';
 const CLASS_NAME_ACTIVE$2 = 'active';
 const CLASS_NAME_SLIDE = 'slide';
@@ -1021,10 +1050,10 @@ const SELECTOR_INDICATORS = '.carousel-indicators';
 const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
 const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
 const KEY_TO_DIRECTION = {
-  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
-  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
+  [ARROW_LEFT_KEY$2]: DIRECTION_RIGHT,
+  [ARROW_RIGHT_KEY$2]: DIRECTION_LEFT
 };
-const Default$b = {
+const Default$f = {
   interval: 5000,
   keyboard: true,
   pause: 'hover',
@@ -1032,7 +1061,7 @@ const Default$b = {
   touch: true,
   wrap: true
 };
-const DefaultType$b = {
+const DefaultType$f = {
   interval: '(number|boolean)',
   // TODO:v6 remove boolean support
   keyboard: 'boolean',
@@ -1063,13 +1092,13 @@ class Carousel extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$b;
+    return Default$f;
   }
   static get DefaultType() {
-    return DefaultType$b;
+    return DefaultType$f;
   }
   static get NAME() {
-    return NAME$c;
+    return NAME$g;
   }
 
   // Public
@@ -1296,7 +1325,7 @@ class Carousel extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
   const target = SelectorEngine.getElementFromSelector(this);
   if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
     return;
@@ -1336,15 +1365,15 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
  * Constants
  */
 
-const NAME$b = 'collapse';
-const DATA_KEY$7 = 'bs.collapse';
-const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-const DATA_API_KEY$4 = '.data-api';
-const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
+const NAME$f = 'collapse';
+const DATA_KEY$b = 'bs.collapse';
+const EVENT_KEY$b = `.${DATA_KEY$b}`;
+const DATA_API_KEY$7 = '.data-api';
+const EVENT_SHOW$7 = `show${EVENT_KEY$b}`;
+const EVENT_SHOWN$7 = `shown${EVENT_KEY$b}`;
+const EVENT_HIDE$7 = `hide${EVENT_KEY$b}`;
+const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$b}`;
+const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 const CLASS_NAME_SHOW$6 = 'show';
 const CLASS_NAME_COLLAPSE = 'collapse';
 const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -1354,12 +1383,12 @@ const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
 const WIDTH = 'width';
 const HEIGHT = 'height';
 const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="collapse"]';
-const Default$a = {
+const SELECTOR_DATA_TOGGLE$8 = '[data-bs-toggle="collapse"]';
+const Default$e = {
   parent: null,
   toggle: true
 };
-const DefaultType$a = {
+const DefaultType$e = {
   parent: '(null|element)',
   toggle: 'boolean'
 };
@@ -1373,7 +1402,7 @@ class Collapse extends BaseComponent {
     super(element, config);
     this._isTransitioning = false;
     this._triggerArray = [];
-    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
+    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$8);
     for (const elem of toggleList) {
       const selector = SelectorEngine.getSelectorFromElement(elem);
       const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -1392,13 +1421,13 @@ class Collapse extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$a;
+    return Default$e;
   }
   static get DefaultType() {
-    return DefaultType$a;
+    return DefaultType$e;
   }
   static get NAME() {
-    return NAME$b;
+    return NAME$f;
   }
 
   // Public
@@ -1424,7 +1453,7 @@ class Collapse extends BaseComponent {
     if (activeChildren.length && activeChildren[0]._isTransitioning) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1442,7 +1471,7 @@ class Collapse extends BaseComponent {
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
       this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$6);
       this._element.style[dimension] = '';
-      EventHandler.trigger(this._element, EVENT_SHOWN$6);
+      EventHandler.trigger(this._element, EVENT_SHOWN$7);
     };
     const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
     const scrollSize = `scroll${capitalizedDimension}`;
@@ -1453,7 +1482,7 @@ class Collapse extends BaseComponent {
     if (this._isTransitioning || !this._isShown()) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1473,7 +1502,7 @@ class Collapse extends BaseComponent {
       this._isTransitioning = false;
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
       this._element.classList.add(CLASS_NAME_COLLAPSE);
-      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+      EventHandler.trigger(this._element, EVENT_HIDDEN$7);
     };
     this._element.style[dimension] = '';
     this._queueCallback(complete, this._element, true);
@@ -1495,7 +1524,7 @@ class Collapse extends BaseComponent {
     if (!this._config.parent) {
       return;
     }
-    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
+    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$8);
     for (const element of children) {
       const selected = SelectorEngine.getElementFromSelector(element);
       if (selected) {
@@ -1523,7 +1552,7 @@ class Collapse extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$6, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$8, function (event) {
   // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
   if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
     event.preventDefault();
@@ -1535,6 +1564,434 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$6, functi
   }
 });
 
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap datepicker.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$e = 'datepicker';
+const DATA_KEY$a = 'bs.datepicker';
+const EVENT_KEY$a = `.${DATA_KEY$a}`;
+const DATA_API_KEY$6 = '.data-api';
+const EVENT_CHANGE = `change${EVENT_KEY$a}`;
+const EVENT_SHOW$6 = `show${EVENT_KEY$a}`;
+const EVENT_SHOWN$6 = `shown${EVENT_KEY$a}`;
+const EVENT_HIDE$6 = `hide${EVENT_KEY$a}`;
+const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$a}`;
+const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$a}${DATA_API_KEY$6}`;
+const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="datepicker"]';
+const HIDE_DELAY = 100; // ms delay before hiding after selection
+
+const Default$d = {
+  datepickerTheme: null,
+  // 'light', 'dark', 'auto' - explicit theme for datepicker popover only
+  dateMin: null,
+  dateMax: null,
+  dateFormat: null,
+  // Intl.DateTimeFormat options, or function(date, locale) => string
+  displayElement: null,
+  // Element to show formatted date (defaults to element for buttons)
+  displayMonthsCount: 1,
+  // Number of months to display side-by-side
+  firstWeekday: 1,
+  // Monday
+  inline: false,
+  // Render calendar inline (no popup)
+  locale: 'default',
+  positionElement: null,
+  // Element to position calendar relative to (defaults to input)
+  selectedDates: [],
+  selectionMode: 'single',
+  // 'single', 'multiple', 'multiple-ranged'
+  placement: 'left',
+  // 'left', 'center', 'right', 'auto'
+  vcpOptions: {} // Pass-through for any VCP option
+};
+const DefaultType$d = {
+  datepickerTheme: '(null|string)',
+  dateMin: '(null|string|number|object)',
+  dateMax: '(null|string|number|object)',
+  dateFormat: '(null|object|function)',
+  displayElement: '(null|string|element|boolean)',
+  displayMonthsCount: 'number',
+  firstWeekday: 'number',
+  inline: 'boolean',
+  locale: 'string',
+  positionElement: '(null|string|element)',
+  selectedDates: 'array',
+  selectionMode: 'string',
+  placement: 'string',
+  vcpOptions: 'object'
+};
+
+/**
+ * Class definition
+ */
+
+class Datepicker extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._calendar = null;
+    this._isShown = false;
+    this._initCalendar();
+  }
+
+  // Getters
+  static get Default() {
+    return Default$d;
+  }
+  static get DefaultType() {
+    return DefaultType$d;
+  }
+  static get NAME() {
+    return NAME$e;
+  }
+
+  // Public
+  toggle() {
+    if (this._config.inline) {
+      return; // Inline calendars are always visible
+    }
+    return this._isShown ? this.hide() : this.show();
+  }
+  show() {
+    if (this._config.inline) {
+      return; // Inline calendars are always visible
+    }
+    if (!this._calendar || isDisabled(this._element) || this._isShown) {
+      return;
+    }
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._calendar.show();
+    this._isShown = true;
+    EventHandler.trigger(this._element, EVENT_SHOWN$6);
+  }
+  hide() {
+    if (this._config.inline) {
+      return; // Inline calendars are always visible
+    }
+    if (!this._calendar || !this._isShown) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._calendar.hide();
+    this._isShown = false;
+    EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+  }
+  dispose() {
+    if (this._themeObserver) {
+      this._themeObserver.disconnect();
+      this._themeObserver = null;
+    }
+    if (this._calendar) {
+      this._calendar.destroy();
+    }
+    this._calendar = null;
+    super.dispose();
+  }
+  getSelectedDates() {
+    const dates = this._calendar?.context?.selectedDates;
+    return dates ? [...dates] : [];
+  }
+  setSelectedDates(dates) {
+    if (this._calendar) {
+      this._calendar.set({
+        selectedDates: dates
+      });
+    }
+  }
+
+  // Private
+  _initCalendar() {
+    this._isInput = this._element.tagName === 'INPUT';
+    this._isInline = this._config.inline;
+
+    // For inline mode, look for a hidden input child to bind to
+    if (this._isInline && !this._isInput) {
+      this._boundInput = this._element.querySelector('input[type="hidden"], input[name]');
+    }
+    this._positionElement = this._resolvePositionElement();
+    this._displayElement = this._resolveDisplayElement();
+    const calendarOptions = this._buildCalendarOptions();
+
+    // Create calendar on the position element (for correct popup positioning)
+    // but value updates still go to this._element (the input)
+    this._calendar = new Calendar(this._positionElement, calendarOptions);
+    this._calendar.init();
+
+    // Watch for theme changes on ancestor elements (for live theme switching)
+    this._setupThemeObserver();
+
+    // Set initial value if input has a value
+    if (this._isInput && this._element.value) {
+      this._parseInputValue();
+    }
+
+    // Populate input/display with preselected dates
+    this._updateDisplayWithSelectedDates();
+  }
+  _updateDisplayWithSelectedDates() {
+    const {
+      selectedDates
+    } = this._config;
+    if (!selectedDates || selectedDates.length === 0) {
+      return;
+    }
+    const formattedDate = this._formatDateForInput(selectedDates);
+    if (this._isInput) {
+      this._element.value = formattedDate;
+    }
+    if (this._boundInput) {
+      this._boundInput.value = selectedDates.join(',');
+    }
+    if (this._displayElement) {
+      this._displayElement.textContent = formattedDate;
+    }
+  }
+  _resolvePositionElement() {
+    let {
+      positionElement
+    } = this._config;
+    if (typeof positionElement === 'string') {
+      positionElement = document.querySelector(positionElement);
+    }
+
+    // Use input's parent if in form-adorn
+    if (!positionElement && this._isInput && !this._isInline) {
+      const parent = this._element.closest('.form-adorn');
+      if (parent) {
+        positionElement = parent;
+      }
+    }
+    return positionElement || this._element;
+  }
+  _resolveDisplayElement() {
+    const {
+      displayElement
+    } = this._config;
+    if (typeof displayElement === 'string') {
+      return document.querySelector(displayElement);
+    }
+
+    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child
+    if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) {
+      const displayChild = this._element.querySelector('[data-bs-datepicker-display]');
+      return displayChild || this._element;
+    }
+    return displayElement;
+  }
+  _getThemeAncestor() {
+    return this._element.closest('[data-bs-theme]');
+  }
+  _getEffectiveTheme() {
+    // Priority: explicit datepickerTheme config > inherited from ancestor > none
+    const {
+      datepickerTheme
+    } = this._config;
+    if (datepickerTheme) {
+      return datepickerTheme;
+    }
+    const ancestor = this._getThemeAncestor();
+    return ancestor?.getAttribute('data-bs-theme') || null;
+  }
+  _syncThemeAttribute(element) {
+    if (!element) {
+      return;
+    }
+    const theme = this._getEffectiveTheme();
+    if (theme) {
+      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)
+      element.setAttribute('data-bs-theme', theme);
+    } else {
+      // No theme - remove attribute to allow natural inheritance
+      element.removeAttribute('data-bs-theme');
+    }
+  }
+  _setupThemeObserver() {
+    // Watch for theme changes on ancestor elements
+    const ancestor = this._getThemeAncestor();
+    if (!ancestor || this._config.datepickerTheme) {
+      // No ancestor to watch, or explicit datepickerTheme overrides
+      return;
+    }
+    this._themeObserver = new MutationObserver(() => {
+      this._syncThemeAttribute(this._calendar?.context?.mainElement);
+    });
+    this._themeObserver.observe(ancestor, {
+      attributes: true,
+      attributeFilter: ['data-bs-theme']
+    });
+  }
+  _buildCalendarOptions() {
+    // Get theme for VCP - use 'system' for auto-detection if no explicit theme
+    const theme = this._getEffectiveTheme();
+    // VCP uses 'system' for auto, Bootstrap uses 'auto'
+    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme;
+    const calendarOptions = {
+      ...this._config.vcpOptions,
+      inputMode: !this._isInline,
+      positionToInput: this._config.placement,
+      firstWeekday: this._config.firstWeekday,
+      locale: this._config.locale,
+      selectionDatesMode: this._config.selectionMode,
+      selectedDates: this._config.selectedDates,
+      displayMonthsCount: this._config.displayMonthsCount,
+      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',
+      selectedTheme: vcpTheme,
+      themeAttrDetect: '[data-bs-theme]',
+      onClickDate: (self, event) => this._handleDateClick(self, event),
+      onInit: self => {
+        this._syncThemeAttribute(self.context.mainElement);
+      },
+      onShow: () => {
+        this._isShown = true;
+        this._syncThemeAttribute(this._calendar.context.mainElement);
+      },
+      onHide: () => {
+        this._isShown = false;
+      }
+    };
+
+    // Navigate to the month of the first selected date
+    if (this._config.selectedDates.length > 0) {
+      const firstDate = this._parseDate(this._config.selectedDates[0]);
+      calendarOptions.selectedMonth = firstDate.getMonth();
+      calendarOptions.selectedYear = firstDate.getFullYear();
+    }
+    if (this._config.dateMin) {
+      calendarOptions.dateMin = this._config.dateMin;
+    }
+    if (this._config.dateMax) {
+      calendarOptions.dateMax = this._config.dateMax;
+    }
+    return calendarOptions;
+  }
+  _handleDateClick(self, event) {
+    const selectedDates = [...self.context.selectedDates];
+    if (selectedDates.length > 0) {
+      const formattedDate = this._formatDateForInput(selectedDates);
+      if (this._isInput) {
+        this._element.value = formattedDate;
+      }
+      if (this._boundInput) {
+        this._boundInput.value = selectedDates.join(',');
+      }
+      if (this._displayElement) {
+        this._displayElement.textContent = formattedDate;
+      }
+    }
+    EventHandler.trigger(this._element, EVENT_CHANGE, {
+      dates: selectedDates,
+      event
+    });
+    this._maybeHideAfterSelection(selectedDates);
+  }
+  _maybeHideAfterSelection(selectedDates) {
+    if (this._isInline) {
+      return;
+    }
+    const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2;
+    if (shouldHide) {
+      setTimeout(() => this.hide(), HIDE_DELAY);
+    }
+  }
+  _parseDate(dateStr) {
+    const [year, month, day] = dateStr.split('-');
+    return new Date(year, month - 1, day);
+  }
+  _formatDate(dateStr) {
+    const date = this._parseDate(dateStr);
+    const locale = this._config.locale === 'default' ? undefined : this._config.locale;
+    const {
+      dateFormat
+    } = this._config;
+
+    // Custom function formatter
+    if (typeof dateFormat === 'function') {
+      return dateFormat(date, locale);
+    }
+
+    // Intl.DateTimeFormat options object
+    if (dateFormat && typeof dateFormat === 'object') {
+      return new Intl.DateTimeFormat(locale, dateFormat).format(date);
+    }
+
+    // Default: locale-aware formatting
+    return date.toLocaleDateString(locale);
+  }
+  _formatDateForInput(dates) {
+    if (dates.length === 0) {
+      return '';
+    }
+    if (dates.length === 1) {
+      return this._formatDate(dates[0]);
+    }
+
+    // For date ranges, use en-dash; for multiple dates, use comma
+    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', ';
+    return dates.map(d => this._formatDate(d)).join(separator);
+  }
+  _parseInputValue() {
+    // Try to parse the input value as a date
+    const value = this._element.value.trim();
+    if (!value) {
+      return;
+    }
+    const date = new Date(value);
+    if (!Number.isNaN(date.getTime())) {
+      const year = date.getFullYear();
+      const month = String(date.getMonth() + 1).padStart(2, '0');
+      const day = String(date.getDate()).padStart(2, '0');
+      const formatted = `${year}-${month}-${day}`;
+      this._calendar.set({
+        selectedDates: [formatted]
+      });
+    }
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$7, function (event) {
+  // Only handle if not an input (inputs use focus)
+  // Skip inline datepickers (they're always visible)
+  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {
+    return;
+  }
+  event.preventDefault();
+  Datepicker.getOrCreateInstance(this).toggle();
+});
+EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE$7, function () {
+  // Handle focus for input elements
+  if (this.tagName !== 'INPUT') {
+    return;
+  }
+  Datepicker.getOrCreateInstance(this).show();
+});
+
+// Auto-initialize inline datepickers on DOMContentLoaded
+EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$6}`, () => {
+  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`)) {
+    Datepicker.getOrCreateInstance(element);
+  }
+});
+
 /**
  * --------------------------------------------------------------------------
  * Bootstrap dialog.js
@@ -1547,29 +2004,29 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$6, functi
  * Constants
  */
 
-const NAME$a = 'dialog';
-const DATA_KEY$6 = 'bs.dialog';
-const EVENT_KEY$6 = `.${DATA_KEY$6}`;
-const DATA_API_KEY$3 = '.data-api';
-const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
-const EVENT_CANCEL = `cancel${EVENT_KEY$6}`;
-const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+const NAME$d = 'dialog';
+const DATA_KEY$9 = 'bs.dialog';
+const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+const DATA_API_KEY$5 = '.data-api';
+const EVENT_SHOW$5 = `show${EVENT_KEY$9}`;
+const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`;
+const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`;
+const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`;
+const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$9}`;
+const EVENT_CANCEL = `cancel${EVENT_KEY$9}`;
+const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
 const CLASS_NAME_STATIC = 'dialog-static';
 const CLASS_NAME_OPEN = 'dialog-open';
 const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
-const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dialog"]';
+const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="dialog"]';
 const SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)';
-const Default$9 = {
+const Default$c = {
   backdrop: true,
   // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
   keyboard: true,
   modal: true // true uses showModal(), false uses show() for non-modal dialogs
 };
-const DefaultType$9 = {
+const DefaultType$c = {
   backdrop: '(boolean|string)',
   keyboard: 'boolean',
   modal: 'boolean'
@@ -1588,13 +2045,13 @@ class Dialog extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$9;
+    return Default$c;
   }
   static get DefaultType() {
-    return DefaultType$9;
+    return DefaultType$c;
   }
   static get NAME() {
-    return NAME$a;
+    return NAME$d;
   }
 
   // Public
@@ -1641,7 +2098,7 @@ class Dialog extends BaseComponent {
     this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
   }
   dispose() {
-    EventHandler.off(this._element, EVENT_KEY$6);
+    EventHandler.off(this._element, EVENT_KEY$9);
     super.dispose();
   }
   handleUpdate() {
@@ -1723,7 +2180,7 @@ class Dialog extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$5, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$6, function (event) {
   const target = SelectorEngine.getElementFromSelector(this);
   if (['A', 'AREA'].includes(this.tagName)) {
     event.preventDefault();
@@ -1891,49 +2348,80 @@ const disposeBreakpointListeners = listeners => {
  * Constants
  */
 
-const NAME$9 = 'dropdown';
-const DATA_KEY$5 = 'bs.dropdown';
-const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-const DATA_API_KEY$2 = '.data-api';
+const NAME$c = 'dropdown';
+const DATA_KEY$8 = 'bs.dropdown';
+const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+const DATA_API_KEY$4 = '.data-api';
 const ESCAPE_KEY$1 = 'Escape';
 const TAB_KEY$1 = 'Tab';
 const ARROW_UP_KEY$1 = 'ArrowUp';
 const ARROW_DOWN_KEY$1 = 'ArrowDown';
-const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
-
-const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
-const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
-const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
-const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
-const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`;
-const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$2}`;
-const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$2}`;
+const ARROW_LEFT_KEY$1 = 'ArrowLeft';
+const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+const HOME_KEY$1 = 'Home';
+const END_KEY$1 = 'End';
+const ENTER_KEY = 'Enter';
+const SPACE_KEY = ' ';
+const RIGHT_MOUSE_BUTTON = 2;
+
+// Hover intent delay (ms) - grace period before closing submenu
+const SUBMENU_CLOSE_DELAY = 100;
+const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`;
+const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`;
+const EVENT_SHOW$4 = `show${EVENT_KEY$8}`;
+const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`;
+const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
+const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`;
+const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`;
 const CLASS_NAME_SHOW$5 = 'show';
-const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$5}`;
+const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
+const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$5}`;
 const SELECTOR_MENU = '.dropdown-menu';
+const SELECTOR_SUBMENU = '.dropdown-submenu';
+const SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item';
 const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+const SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)';
 
-// Default placement with RTL support
-const DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start';
-const Default$8 = {
+// Default logical placement (uses start/end which get resolved to left/right based on RTL)
+const DEFAULT_PLACEMENT = 'bottom-start';
+const SUBMENU_PLACEMENT = 'end-start';
+
+// Resolve logical placement (start/end) to physical (left/right) based on RTL
+const resolveLogicalPlacement = placement => {
+  if (isRTL()) {
+    // RTL: start â†’ right, end â†’ left
+    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left');
+  }
+
+  // LTR: start â†’ left, end â†’ right
+  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right');
+};
+
+// Helper for barycentric coordinate calculation (point in triangle check)
+const triangleSign = (p1, p2, p3) => (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);
+const Default$b = {
   autoClose: true,
   boundary: 'clippingParents',
   display: 'dynamic',
   offset: [0, 2],
   floatingConfig: null,
   placement: DEFAULT_PLACEMENT,
-  reference: 'toggle'
+  reference: 'toggle',
+  // Submenu options
+  submenuTrigger: 'both',
+  // 'click', 'hover', or 'both'
+  submenuDelay: SUBMENU_CLOSE_DELAY
 };
-const DefaultType$8 = {
+const DefaultType$b = {
   autoClose: '(boolean|string)',
   boundary: '(string|element)',
   display: 'string',
   offset: '(array|string|function)',
   floatingConfig: '(null|object|function)',
   placement: 'string',
-  reference: '(string|element|object)'
+  reference: '(string|element|object)',
+  submenuTrigger: 'string',
+  submenuDelay: 'number'
 };
 
 /**
@@ -1950,22 +2438,30 @@ class Dropdown extends BaseComponent {
     this._mediaQueryListeners = [];
     this._responsivePlacements = null;
     this._parent = this._element.parentNode; // dropdown wrapper
+    this._isSubmenu = this._parent.classList.contains('dropdown-submenu');
+    this._openSubmenus = new Map(); // Map of submenu element -> cleanup function
+    this._submenuCloseTimeouts = new Map(); // Map of submenu element -> timeout ID
+    this._hoverIntentData = null; // For safe triangle calculation
+
     // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
     this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
 
     // Parse responsive placements on init
     this._parseResponsivePlacements();
+
+    // Set up submenu event listeners
+    this._setupSubmenuListeners();
   }
 
   // Getters
   static get Default() {
-    return Default$8;
+    return Default$b;
   }
   static get DefaultType() {
-    return DefaultType$8;
+    return DefaultType$b;
   }
   static get NAME() {
-    return NAME$9;
+    return NAME$c;
   }
 
   // Public
@@ -1995,9 +2491,10 @@ class Dropdown extends BaseComponent {
       }
     }
     this._element.focus();
-    this._element.setAttribute('aria-expanded', true);
+    this._element.setAttribute('aria-expanded', 'true');
     this._menu.classList.add(CLASS_NAME_SHOW$5);
     this._element.classList.add(CLASS_NAME_SHOW$5);
+    this._parent.classList.add(CLASS_NAME_SHOW$5);
     EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
   }
   hide() {
@@ -2012,6 +2509,8 @@ class Dropdown extends BaseComponent {
   dispose() {
     this._disposeFloating();
     this._disposeMediaQueryListeners();
+    this._closeAllSubmenus();
+    this._clearAllSubmenuTimeouts();
     super.dispose();
   }
   update() {
@@ -2027,6 +2526,9 @@ class Dropdown extends BaseComponent {
       return;
     }
 
+    // Close all open submenus first
+    this._closeAllSubmenus();
+
     // If this is a touch-enabled device we remove the extra
     // empty mouseover listeners we added for iOS support
     if ('ontouchstart' in document.documentElement) {
@@ -2037,6 +2539,7 @@ class Dropdown extends BaseComponent {
     this._disposeFloating();
     this._menu.classList.remove(CLASS_NAME_SHOW$5);
     this._element.classList.remove(CLASS_NAME_SHOW$5);
+    this._parent.classList.remove(CLASS_NAME_SHOW$5);
     this._element.setAttribute('aria-expanded', 'false');
     Manipulator.removeDataAttribute(this._menu, 'placement');
     Manipulator.removeDataAttribute(this._menu, 'display');
@@ -2046,7 +2549,7 @@ class Dropdown extends BaseComponent {
     config = super._getConfig(config);
     if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
       // Floating UI virtual elements require a getBoundingClientRect method
-      throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+      throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
     }
     return config;
   }
@@ -2071,8 +2574,7 @@ class Dropdown extends BaseComponent {
     this._floatingCleanup = autoUpdate(referenceElement, this._menu, () => this._updateFloatingPosition(referenceElement));
   }
   async _updateFloatingPosition(referenceElement = null) {
-    // Check if menu exists and is still in the DOM
-    if (!this._menu || !this._menu.isConnected) {
+    if (!this._menu) {
       return;
     }
     if (!referenceElement) {
@@ -2089,37 +2591,17 @@ class Dropdown extends BaseComponent {
     const placement = this._getPlacement();
     const middleware = this._getFloatingMiddleware();
     const floatingConfig = this._getFloatingConfig(placement, middleware);
-    const {
-      x,
-      y,
-      placement: finalPlacement
-    } = await computePosition(referenceElement, this._menu, floatingConfig);
-
-    // Menu may have been disposed during the async computePosition call
-    if (!this._menu || !this._menu.isConnected) {
-      return;
-    }
-
-    // Apply position to dropdown menu
-    Object.assign(this._menu.style, {
-      position: 'absolute',
-      left: `${x}px`,
-      top: `${y}px`,
-      margin: '0'
-    });
-
-    // Set placement attribute for CSS styling
-    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement);
+    await this._applyFloatingPosition(referenceElement, this._menu, floatingConfig.placement, floatingConfig.middleware);
   }
   _isShown() {
     return this._menu.classList.contains(CLASS_NAME_SHOW$5);
   }
   _getPlacement() {
     // If we have responsive placements, find the appropriate one for current viewport
-    if (this._responsivePlacements) {
-      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT);
-    }
-    return this._config.placement;
+    const placement = this._responsivePlacements ? getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) : this._config.placement;
+
+    // Resolve logical placements (start/end) to physical (left/right) based on RTL
+    return resolveLogicalPlacement(placement);
   }
   _parseResponsivePlacements() {
     this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT);
@@ -2141,18 +2623,18 @@ class Dropdown extends BaseComponent {
   }
   _getOffset() {
     const {
-      offset
+      offset: offsetConfig
     } = this._config;
-    if (typeof offset === 'string') {
-      return offset.split(',').map(value => Number.parseInt(value, 10));
+    if (typeof offsetConfig === 'string') {
+      return offsetConfig.split(',').map(value => Number.parseInt(value, 10));
     }
-    if (typeof offset === 'function') {
+    if (typeof offsetConfig === 'function') {
       // Floating UI passes different args, adapt the interface for offset function callbacks
       return ({
         placement,
         rects
       }) => {
-        const result = offset({
+        const result = offsetConfig({
           placement,
           reference: rects.reference,
           floating: rects.floating
@@ -2160,7 +2642,7 @@ class Dropdown extends BaseComponent {
         return result;
       };
     }
-    return offset;
+    return offsetConfig;
   }
   _getFloatingMiddleware() {
     const offsetValue = this._getOffset();
@@ -2218,11 +2700,296 @@ class Dropdown extends BaseComponent {
       this._floatingCleanup = null;
     }
   }
+
+  // Shared helper for positioning any floating element
+  async _applyFloatingPosition(reference, floating, placement, middleware) {
+    if (!floating.isConnected) {
+      return null;
+    }
+    const {
+      x,
+      y,
+      placement: finalPlacement
+    } = await computePosition(reference, floating, {
+      placement,
+      middleware
+    });
+    if (!floating.isConnected) {
+      return null;
+    }
+    Object.assign(floating.style, {
+      position: 'absolute',
+      left: `${x}px`,
+      top: `${y}px`,
+      margin: '0'
+    });
+    Manipulator.setDataAttribute(floating, 'placement', finalPlacement);
+    return finalPlacement;
+  }
+
+  // -------------------------------------------------------------------------
+  // Submenu handling
+  // -------------------------------------------------------------------------
+
+  _setupSubmenuListeners() {
+    // Set up hover listeners for submenu triggers
+    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {
+      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {
+        this._onSubmenuTriggerEnter(event);
+      });
+      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {
+        this._onSubmenuLeave(event);
+      });
+
+      // Track mouse movement for safe triangle calculation
+      EventHandler.on(this._menu, 'mousemove', event => {
+        this._trackMousePosition(event);
+      });
+    }
+
+    // Set up click listener for submenu triggers
+    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {
+      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {
+        this._onSubmenuTriggerClick(event);
+      });
+    }
+  }
+  _onSubmenuTriggerEnter(event) {
+    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+    if (!trigger) {
+      return;
+    }
+    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+    if (!submenu) {
+      return;
+    }
+
+    // Cancel any pending close timeout for this submenu
+    this._cancelSubmenuCloseTimeout(submenu);
+
+    // Close other open submenus at the same level
+    this._closeSiblingSubmenus(submenuWrapper);
+
+    // Open this submenu
+    this._openSubmenu(trigger, submenu, submenuWrapper);
+  }
+  _onSubmenuLeave(event) {
+    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU);
+    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+    if (!submenu || !this._openSubmenus.has(submenu)) {
+      return;
+    }
+
+    // Check if we're moving toward the submenu (safe triangle)
+    if (this._isMovingTowardSubmenu(event, submenu)) {
+      return;
+    }
+
+    // Schedule submenu close with delay
+    this._scheduleSubmenuClose(submenu, submenuWrapper);
+  }
+  _onSubmenuTriggerClick(event) {
+    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+    if (!trigger) {
+      return;
+    }
+    event.preventDefault();
+    event.stopPropagation();
+    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+    if (!submenu) {
+      return;
+    }
+
+    // Toggle submenu
+    if (this._openSubmenus.has(submenu)) {
+      this._closeSubmenu(submenu, submenuWrapper);
+    } else {
+      this._closeSiblingSubmenus(submenuWrapper);
+      this._openSubmenu(trigger, submenu, submenuWrapper);
+    }
+  }
+  _openSubmenu(trigger, submenu, submenuWrapper) {
+    if (this._openSubmenus.has(submenu)) {
+      return;
+    }
+
+    // Set ARIA attributes
+    trigger.setAttribute('aria-expanded', 'true');
+    trigger.setAttribute('aria-haspopup', 'true');
+
+    // Position and show submenu
+    submenu.classList.add(CLASS_NAME_SHOW$5);
+    submenuWrapper.classList.add(CLASS_NAME_SHOW$5);
+
+    // Set up Floating UI positioning for submenu
+    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper);
+    this._openSubmenus.set(submenu, cleanup);
+
+    // Set up mouseenter on submenu to cancel close timeout
+    EventHandler.on(submenu, 'mouseenter', () => {
+      this._cancelSubmenuCloseTimeout(submenu);
+    });
+  }
+  _closeSubmenu(submenu, submenuWrapper) {
+    if (!this._openSubmenus.has(submenu)) {
+      return;
+    }
+
+    // Close any nested submenus first
+    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, submenu);
+    for (const nested of nestedSubmenus) {
+      const nestedWrapper = nested.closest(SELECTOR_SUBMENU);
+      this._closeSubmenu(nested, nestedWrapper);
+    }
+
+    // Get the trigger
+    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper);
+
+    // Clean up Floating UI
+    const cleanup = this._openSubmenus.get(submenu);
+    if (cleanup) {
+      cleanup();
+    }
+    this._openSubmenus.delete(submenu);
+
+    // Remove event listeners
+    EventHandler.off(submenu, 'mouseenter');
+
+    // Update ARIA and visibility
+    if (trigger) {
+      trigger.setAttribute('aria-expanded', 'false');
+    }
+    submenu.classList.remove(CLASS_NAME_SHOW$5);
+    submenuWrapper.classList.remove(CLASS_NAME_SHOW$5);
+
+    // Clear inline styles
+    submenu.style.position = '';
+    submenu.style.left = '';
+    submenu.style.top = '';
+    submenu.style.margin = '';
+  }
+  _closeAllSubmenus() {
+    for (const [submenu] of this._openSubmenus) {
+      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU);
+      this._closeSubmenu(submenu, submenuWrapper);
+    }
+  }
+  _closeSiblingSubmenus(currentSubmenuWrapper) {
+    // Find all sibling submenu wrappers and close their menus
+    const parent = currentSubmenuWrapper.parentNode;
+    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, parent);
+    for (const siblingMenu of siblingSubmenus) {
+      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU);
+      if (siblingWrapper !== currentSubmenuWrapper) {
+        this._closeSubmenu(siblingMenu, siblingWrapper);
+      }
+    }
+  }
+  _createSubmenuFloating(trigger, submenu, submenuWrapper) {
+    const referenceElement = submenuWrapper;
+    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT);
+    const middleware = [offset({
+      mainAxis: 0,
+      crossAxis: -4
+    }), flip({
+      fallbackPlacements: [resolveLogicalPlacement('start-start'), resolveLogicalPlacement('end-end'), resolveLogicalPlacement('start-end')]
+    }), shift({
+      padding: 8
+    })];
+    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware);
+    updatePosition();
+    return autoUpdate(referenceElement, submenu, updatePosition);
+  }
+  _scheduleSubmenuClose(submenu, submenuWrapper) {
+    this._cancelSubmenuCloseTimeout(submenu);
+    const timeoutId = setTimeout(() => {
+      this._closeSubmenu(submenu, submenuWrapper);
+      this._submenuCloseTimeouts.delete(submenu);
+    }, this._config.submenuDelay);
+    this._submenuCloseTimeouts.set(submenu, timeoutId);
+  }
+  _cancelSubmenuCloseTimeout(submenu) {
+    const timeoutId = this._submenuCloseTimeouts.get(submenu);
+    if (timeoutId) {
+      clearTimeout(timeoutId);
+      this._submenuCloseTimeouts.delete(submenu);
+    }
+  }
+  _clearAllSubmenuTimeouts() {
+    for (const timeoutId of this._submenuCloseTimeouts.values()) {
+      clearTimeout(timeoutId);
+    }
+    this._submenuCloseTimeouts.clear();
+  }
+
+  // -------------------------------------------------------------------------
+  // Hover intent / Safe triangle
+  // -------------------------------------------------------------------------
+
+  _trackMousePosition(event) {
+    this._hoverIntentData = {
+      x: event.clientX,
+      y: event.clientY,
+      timestamp: Date.now()
+    };
+  }
+  _isMovingTowardSubmenu(event, submenu) {
+    if (!this._hoverIntentData) {
+      return false;
+    }
+    const submenuRect = submenu.getBoundingClientRect();
+    const currentPos = {
+      x: event.clientX,
+      y: event.clientY
+    };
+    const lastPos = {
+      x: this._hoverIntentData.x,
+      y: this._hoverIntentData.y
+    };
+
+    // Create a triangle from current position to submenu edges
+    // The triangle represents the "safe zone" for diagonal movement
+    const isRtl = isRTL();
+
+    // Determine which edge of the submenu to target based on direction
+    const targetX = isRtl ? submenuRect.right : submenuRect.left;
+    const topCorner = {
+      x: targetX,
+      y: submenuRect.top
+    };
+    const bottomCorner = {
+      x: targetX,
+      y: submenuRect.bottom
+    };
+
+    // Check if cursor is moving toward the submenu
+    // by checking if the current position is within the safe triangle
+    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner);
+  }
+  _pointInTriangle(point, v1, v2, v3) {
+    // Barycentric coordinate method to check if point is inside triangle
+    const d1 = triangleSign(point, v1, v2);
+    const d2 = triangleSign(point, v2, v3);
+    const d3 = triangleSign(point, v3, v1);
+    const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
+    const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
+    return !(hasNeg && hasPos);
+  }
+
+  // -------------------------------------------------------------------------
+  // Keyboard navigation
+  // -------------------------------------------------------------------------
+
   _selectMenuItem({
     key,
     target
   }) {
-    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));
+    // Get items only from the current menu level (not nested submenus)
+    // If target is inside a menu, use that menu; otherwise use the main menu
+    const currentMenu = target.closest(SELECTOR_MENU) || this._menu;
+    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
     if (!items.length) {
       return;
     }
@@ -2231,6 +2998,89 @@ class Dropdown extends BaseComponent {
     // allow cycling to get the last item in case key equals ARROW_UP_KEY
     getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
   }
+  _handleSubmenuKeydown(event) {
+    const {
+      key,
+      target
+    } = event;
+    const isRtl = isRTL();
+
+    // Determine the "enter submenu" and "exit submenu" keys based on RTL
+    const enterKey = isRtl ? ARROW_LEFT_KEY$1 : ARROW_RIGHT_KEY$1;
+    const exitKey = isRtl ? ARROW_RIGHT_KEY$1 : ARROW_LEFT_KEY$1;
+
+    // Check if target is a submenu trigger
+    const submenuWrapper = target.closest(SELECTOR_SUBMENU);
+    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE);
+
+    // Handle Enter/Space on submenu trigger
+    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {
+      event.preventDefault();
+      event.stopPropagation();
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (submenu) {
+        this._closeSiblingSubmenus(submenuWrapper);
+        this._openSubmenu(target, submenu, submenuWrapper);
+        // Focus first item in submenu
+        requestAnimationFrame(() => {
+          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+          if (firstItem) {
+            firstItem.focus();
+          }
+        });
+      }
+      return true;
+    }
+
+    // Handle Right arrow (or Left in RTL) - enter submenu
+    if (key === enterKey && isSubmenuTrigger) {
+      event.preventDefault();
+      event.stopPropagation();
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (submenu) {
+        this._closeSiblingSubmenus(submenuWrapper);
+        this._openSubmenu(target, submenu, submenuWrapper);
+        // Focus first item in submenu
+        requestAnimationFrame(() => {
+          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+          if (firstItem) {
+            firstItem.focus();
+          }
+        });
+      }
+      return true;
+    }
+
+    // Handle Left arrow (or Right in RTL) - exit submenu
+    if (key === exitKey) {
+      const currentMenu = target.closest(SELECTOR_MENU);
+      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+      if (parentSubmenuWrapper) {
+        event.preventDefault();
+        event.stopPropagation();
+        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+        this._closeSubmenu(currentMenu, parentSubmenuWrapper);
+        if (parentTrigger) {
+          parentTrigger.focus();
+        }
+        return true;
+      }
+    }
+
+    // Handle Home/End keys
+    if (key === HOME_KEY$1 || key === END_KEY$1) {
+      event.preventDefault();
+      event.stopPropagation();
+      const currentMenu = target.closest(SELECTOR_MENU);
+      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
+      if (items.length) {
+        const targetItem = key === HOME_KEY$1 ? items[0] : items[items.length - 1];
+        targetItem.focus();
+      }
+      return true;
+    }
+    return false;
+  }
   static clearMenus(event) {
     if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
       return;
@@ -2261,32 +3111,62 @@ class Dropdown extends BaseComponent {
     }
   }
   static dataApiKeydownHandler(event) {
-    // If not an UP | DOWN | ESCAPE key => not a dropdown command
-    // If input/textarea && if key is other than ESCAPE => not a dropdown command
-
+    // If not a relevant key => not a dropdown command
     const isInput = /input|textarea/i.test(event.target.tagName);
     const isEscapeEvent = event.key === ESCAPE_KEY$1;
     const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);
-    if (!isUpOrDownEvent && !isEscapeEvent) {
+    const isLeftOrRightEvent = [ARROW_LEFT_KEY$1, ARROW_RIGHT_KEY$1].includes(event.key);
+    const isHomeOrEndEvent = [HOME_KEY$1, END_KEY$1].includes(event.key);
+    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key);
+
+    // Allow Enter/Space only on submenu triggers
+    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE);
+    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent && !(isEnterOrSpaceEvent && isSubmenuTrigger)) {
       return;
     }
     if (isInput && !isEscapeEvent) {
       return;
     }
-    event.preventDefault();
 
     // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
-    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$4) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4, event.delegateTarget.parentNode);
+    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$5) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5, event.delegateTarget.parentNode);
+    if (!getToggleButton) {
+      return;
+    }
     const instance = Dropdown.getOrCreateInstance(getToggleButton);
+
+    // Handle submenu navigation first
+    if ((isLeftOrRightEvent || isHomeOrEndEvent || isEnterOrSpaceEvent && isSubmenuTrigger) && instance._handleSubmenuKeydown(event)) {
+      return;
+    }
+
+    // Handle Up/Down navigation
     if (isUpOrDownEvent) {
+      event.preventDefault();
       event.stopPropagation();
       instance.show();
       instance._selectMenuItem(event);
       return;
     }
-    if (instance._isShown()) {
-      // else is escape and we check if it is shown
+
+    // Handle Escape
+    if (isEscapeEvent && instance._isShown()) {
+      event.preventDefault();
       event.stopPropagation();
+
+      // If in a submenu, close just that submenu
+      const currentMenu = event.target.closest(SELECTOR_MENU);
+      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {
+        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+        instance._closeSubmenu(currentMenu, parentSubmenuWrapper);
+        if (parentTrigger) {
+          parentTrigger.focus();
+        }
+        return;
+      }
+
+      // Otherwise close the whole dropdown
       instance.hide();
       getToggleButton.focus();
     }
@@ -2297,11 +3177,11 @@ class Dropdown extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
+EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
 EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
 EventHandler.on(document, EVENT_CLICK_DATA_API$2, Dropdown.clearMenus);
 EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
-EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$4, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, function (event) {
   event.preventDefault();
   Dropdown.getOrCreateInstance(this).toggle();
 });
@@ -2318,11 +3198,11 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$4, functi
  * Constants
  */
 
-const NAME$8 = 'backdrop';
+const NAME$b = 'backdrop';
 const CLASS_NAME_FADE$3 = 'fade';
 const CLASS_NAME_SHOW$4 = 'show';
-const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$8}`;
-const Default$7 = {
+const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+const Default$a = {
   className: 'modal-backdrop',
   clickCallback: null,
   isAnimated: false,
@@ -2330,7 +3210,7 @@ const Default$7 = {
   // if false, we use the backdrop helper without adding any element to the dom
   rootElement: 'body' // give the choice to place backdrop under different elements
 };
-const DefaultType$7 = {
+const DefaultType$a = {
   className: 'string',
   clickCallback: '(function|null)',
   isAnimated: 'boolean',
@@ -2352,13 +3232,13 @@ class Backdrop extends Config {
 
   // Getters
   static get Default() {
-    return Default$7;
+    return Default$a;
   }
   static get DefaultType() {
-    return DefaultType$7;
+    return DefaultType$a;
   }
   static get NAME() {
-    return NAME$8;
+    return NAME$b;
   }
 
   // Public
@@ -2442,19 +3322,19 @@ class Backdrop extends Config {
  * Constants
  */
 
-const NAME$7 = 'focustrap';
-const DATA_KEY$4 = 'bs.focustrap';
-const EVENT_KEY$4 = `.${DATA_KEY$4}`;
-const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$4}`;
-const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$4}`;
+const NAME$a = 'focustrap';
+const DATA_KEY$7 = 'bs.focustrap';
+const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$7}`;
+const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
 const TAB_KEY = 'Tab';
 const TAB_NAV_FORWARD = 'forward';
 const TAB_NAV_BACKWARD = 'backward';
-const Default$6 = {
+const Default$9 = {
   autofocus: true,
   trapElement: null // The element to trap focus inside of
 };
-const DefaultType$6 = {
+const DefaultType$9 = {
   autofocus: 'boolean',
   trapElement: 'element'
 };
@@ -2473,13 +3353,13 @@ class FocusTrap extends Config {
 
   // Getters
   static get Default() {
-    return Default$6;
+    return Default$9;
   }
   static get DefaultType() {
-    return DefaultType$6;
+    return DefaultType$9;
   }
   static get NAME() {
-    return NAME$7;
+    return NAME$a;
   }
 
   // Public
@@ -2490,7 +3370,7 @@ class FocusTrap extends Config {
     if (this._config.autofocus) {
       this._config.trapElement.focus();
     }
-    EventHandler.off(document, EVENT_KEY$4); // guard against infinite focus loop
+    EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
     EventHandler.on(document, EVENT_FOCUSIN$3, event => this._handleFocusin(event));
     EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
     this._isActive = true;
@@ -2500,7 +3380,7 @@ class FocusTrap extends Config {
       return;
     }
     this._isActive = false;
-    EventHandler.off(document, EVENT_KEY$4);
+    EventHandler.off(document, EVENT_KEY$7);
   }
 
   // Private
@@ -2638,32 +3518,32 @@ class ScrollBarHelper {
  * Constants
  */
 
-const NAME$6 = 'offcanvas';
-const DATA_KEY$3 = 'bs.offcanvas';
-const EVENT_KEY$3 = `.${DATA_KEY$3}`;
-const DATA_API_KEY$1 = '.data-api';
-const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
+const NAME$9 = 'offcanvas';
+const DATA_KEY$6 = 'bs.offcanvas';
+const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+const DATA_API_KEY$3 = '.data-api';
+const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$6}${DATA_API_KEY$3}`;
 const ESCAPE_KEY = 'Escape';
 const CLASS_NAME_SHOW$3 = 'show';
 const CLASS_NAME_SHOWING$1 = 'showing';
 const CLASS_NAME_HIDING = 'hiding';
 const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
 const OPEN_SELECTOR = '.offcanvas.show';
-const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
-const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
-const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
-const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
-const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
-const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
-const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
-const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
-const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="offcanvas"]';
-const Default$5 = {
+const EVENT_SHOW$3 = `show${EVENT_KEY$6}`;
+const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`;
+const EVENT_HIDE$3 = `hide${EVENT_KEY$6}`;
+const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$6}`;
+const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`;
+const EVENT_RESIZE = `resize${EVENT_KEY$6}`;
+const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$6}`;
+const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="offcanvas"]';
+const Default$8 = {
   backdrop: true,
   keyboard: true,
   scroll: false
 };
-const DefaultType$5 = {
+const DefaultType$8 = {
   backdrop: '(boolean|string)',
   keyboard: 'boolean',
   scroll: 'boolean'
@@ -2684,13 +3564,13 @@ class Offcanvas extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$5;
+    return Default$8;
   }
   static get DefaultType() {
-    return DefaultType$5;
+    return DefaultType$8;
   }
   static get NAME() {
-    return NAME$6;
+    return NAME$9;
   }
 
   // Public
@@ -2727,72 +3607,556 @@ class Offcanvas extends BaseComponent {
     };
     this._queueCallback(completeCallBack, this._element, true);
   }
-  hide() {
-    if (!this._isShown) {
-      return;
+  hide() {
+    if (!this._isShown) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._focustrap.deactivate();
+    this._element.blur();
+    this._isShown = false;
+    this._element.classList.add(CLASS_NAME_HIDING);
+    this._backdrop.hide();
+    const completeCallback = () => {
+      this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
+      this._element.removeAttribute('aria-modal');
+      this._element.removeAttribute('role');
+      if (!this._config.scroll) {
+        new ScrollBarHelper().reset();
+      }
+      EventHandler.trigger(this._element, EVENT_HIDDEN$3);
+    };
+    this._queueCallback(completeCallback, this._element, true);
+  }
+  dispose() {
+    this._backdrop.dispose();
+    this._focustrap.deactivate();
+    super.dispose();
+  }
+
+  // Private
+  _initializeBackDrop() {
+    const clickCallback = () => {
+      if (this._config.backdrop === 'static') {
+        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+        return;
+      }
+      this.hide();
+    };
+
+    // 'static' option will be translated to true, and booleans will keep their value
+    const isVisible = Boolean(this._config.backdrop);
+    return new Backdrop({
+      className: CLASS_NAME_BACKDROP,
+      isVisible,
+      isAnimated: true,
+      rootElement: this._element.parentNode,
+      clickCallback: isVisible ? clickCallback : null
+    });
+  }
+  _initializeFocusTrap() {
+    return new FocusTrap({
+      trapElement: this._element
+    });
+  }
+  _addEventListeners() {
+    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
+      if (event.key !== ESCAPE_KEY) {
+        return;
+      }
+      if (this._config.keyboard) {
+        this.hide();
+        return;
+      }
+      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+    });
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$4, function (event) {
+  const target = SelectorEngine.getElementFromSelector(this);
+  if (['A', 'AREA'].includes(this.tagName)) {
+    event.preventDefault();
+  }
+  if (isDisabled(this)) {
+    return;
+  }
+  EventHandler.one(target, EVENT_HIDDEN$3, () => {
+    // focus on trigger when it is closed
+    if (isVisible(this)) {
+      this.focus();
+    }
+  });
+
+  // avoid conflict when clicking a toggler of an offcanvas, while another is open
+  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
+  if (alreadyOpen && alreadyOpen !== target) {
+    Offcanvas.getInstance(alreadyOpen).hide();
+  }
+  const data = Offcanvas.getOrCreateInstance(target);
+  data.toggle(this);
+});
+EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
+  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
+    Offcanvas.getOrCreateInstance(selector).show();
+  }
+});
+EventHandler.on(window, EVENT_RESIZE, () => {
+  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
+    if (getComputedStyle(element).position !== 'fixed') {
+      Offcanvas.getOrCreateInstance(element).hide();
+    }
+  }
+});
+enableDismissTrigger(Offcanvas);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap strength.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$8 = 'strength';
+const DATA_KEY$5 = 'bs.strength';
+const EVENT_KEY$5 = `.${DATA_KEY$5}`;
+const DATA_API_KEY$2 = '.data-api';
+const EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY$5}`;
+const SELECTOR_DATA_STRENGTH = '[data-bs-strength]';
+const STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong'];
+const Default$7 = {
+  input: null,
+  // Selector or element for password input
+  minLength: 8,
+  messages: {
+    weak: 'Weak',
+    fair: 'Fair',
+    good: 'Good',
+    strong: 'Strong'
+  },
+  weights: {
+    minLength: 1,
+    extraLength: 1,
+    lowercase: 1,
+    uppercase: 1,
+    numbers: 1,
+    special: 1,
+    multipleSpecial: 1,
+    longPassword: 1
+  },
+  thresholds: [2, 4, 6],
+  // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6
+  scorer: null // Custom scoring function (password) => number
+};
+const DefaultType$7 = {
+  input: '(string|element|null)',
+  minLength: 'number',
+  messages: 'object',
+  weights: 'object',
+  thresholds: 'array',
+  scorer: '(function|null)'
+};
+
+/**
+ * Class definition
+ */
+
+class Strength extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._input = this._getInput();
+    this._segments = SelectorEngine.find('.strength-segment', this._element);
+    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement);
+    this._currentStrength = null;
+    if (this._input) {
+      this._addEventListeners();
+      // Check initial value
+      this._evaluate();
+    }
+  }
+
+  // Getters
+  static get Default() {
+    return Default$7;
+  }
+  static get DefaultType() {
+    return DefaultType$7;
+  }
+  static get NAME() {
+    return NAME$8;
+  }
+
+  // Public
+  getStrength() {
+    return this._currentStrength;
+  }
+  evaluate() {
+    this._evaluate();
+  }
+
+  // Private
+  _getInput() {
+    if (this._config.input) {
+      return typeof this._config.input === 'string' ? SelectorEngine.findOne(this._config.input) : this._config.input;
+    }
+
+    // Look for preceding password input
+    const parent = this._element.parentElement;
+    return SelectorEngine.findOne('input[type="password"]', parent);
+  }
+  _addEventListeners() {
+    EventHandler.on(this._input, 'input', () => this._evaluate());
+    EventHandler.on(this._input, 'change', () => this._evaluate());
+  }
+  _evaluate() {
+    const password = this._input.value;
+    const score = this._calculateScore(password);
+    const strength = this._scoreToStrength(score);
+    if (strength !== this._currentStrength) {
+      this._currentStrength = strength;
+      this._updateUI(strength, score);
+      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {
+        strength,
+        score,
+        password: password.length > 0 ? '***' : '' // Don't expose actual password
+      });
+    }
+  }
+  _calculateScore(password) {
+    if (!password) {
+      return 0;
+    }
+
+    // Use custom scorer if provided
+    if (typeof this._config.scorer === 'function') {
+      return this._config.scorer(password);
+    }
+    const {
+      weights
+    } = this._config;
+    let score = 0;
+
+    // Length scoring
+    if (password.length >= this._config.minLength) {
+      score += weights.minLength;
+    }
+    if (password.length >= this._config.minLength + 4) {
+      score += weights.extraLength;
+    }
+
+    // Character variety
+    if (/[a-z]/.test(password)) {
+      score += weights.lowercase;
+    }
+    if (/[A-Z]/.test(password)) {
+      score += weights.uppercase;
+    }
+    if (/\d/.test(password)) {
+      score += weights.numbers;
+    }
+
+    // Special characters
+    if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+      score += weights.special;
+    }
+
+    // Extra points for more special chars or length
+    if (/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+      score += weights.multipleSpecial;
+    }
+    if (password.length >= 16) {
+      score += weights.longPassword;
+    }
+    return score;
+  }
+  _scoreToStrength(score) {
+    if (score === 0) {
+      return null;
+    }
+    const [weak, fair, good] = this._config.thresholds;
+    if (score <= weak) {
+      return 'weak';
+    }
+    if (score <= fair) {
+      return 'fair';
+    }
+    if (score <= good) {
+      return 'good';
+    }
+    return 'strong';
+  }
+  _updateUI(strength) {
+    // Update data attribute on element
+    if (strength) {
+      this._element.dataset.bsStrength = strength;
+    } else {
+      delete this._element.dataset.bsStrength;
+    }
+
+    // Update segmented meter
+    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1;
+    for (const [index, segment] of this._segments.entries()) {
+      if (index <= strengthIndex) {
+        segment.classList.add('active');
+      } else {
+        segment.classList.remove('active');
+      }
+    }
+
+    // Update text feedback
+    if (this._textElement) {
+      if (strength && this._config.messages[strength]) {
+        this._textElement.textContent = this._config.messages[strength];
+        this._textElement.dataset.bsStrength = strength;
+
+        // Also set the color via inheriting from parent or using CSS variable
+        const colorMap = {
+          weak: 'danger',
+          fair: 'warning',
+          good: 'info',
+          strong: 'success'
+        };
+        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`);
+      } else {
+        this._textElement.textContent = '';
+        delete this._textElement.dataset.bsStrength;
+      }
+    }
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$5}${DATA_API_KEY$2}`, () => {
+  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {
+    Strength.getOrCreateInstance(element);
+  }
+});
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap otp-input.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$7 = 'otpInput';
+const DATA_KEY$4 = 'bs.otp-input';
+const EVENT_KEY$4 = `.${DATA_KEY$4}`;
+const DATA_API_KEY$1 = '.data-api';
+const EVENT_COMPLETE = `complete${EVENT_KEY$4}`;
+const EVENT_INPUT = `input${EVENT_KEY$4}`;
+const SELECTOR_DATA_OTP = '[data-bs-otp]';
+const SELECTOR_INPUT = 'input';
+const Default$6 = {
+  length: 6,
+  mask: false
+};
+const DefaultType$6 = {
+  length: 'number',
+  mask: 'boolean'
+};
+
+/**
+ * Class definition
+ */
+
+class OtpInput extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element);
+    this._setupInputs();
+    this._addEventListeners();
+  }
+
+  // Getters
+  static get Default() {
+    return Default$6;
+  }
+  static get DefaultType() {
+    return DefaultType$6;
+  }
+  static get NAME() {
+    return NAME$7;
+  }
+
+  // Public
+  getValue() {
+    return this._inputs.map(input => input.value).join('');
+  }
+  setValue(value) {
+    const chars = String(value).split('');
+    for (const [index, input] of this._inputs.entries()) {
+      input.value = chars[index] || '';
     }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
-    if (hideEvent.defaultPrevented) {
-      return;
+    this._checkComplete();
+  }
+  clear() {
+    for (const input of this._inputs) {
+      input.value = '';
     }
-    this._focustrap.deactivate();
-    this._element.blur();
-    this._isShown = false;
-    this._element.classList.add(CLASS_NAME_HIDING);
-    this._backdrop.hide();
-    const completeCallback = () => {
-      this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
-      this._element.removeAttribute('aria-modal');
-      this._element.removeAttribute('role');
-      if (!this._config.scroll) {
-        new ScrollBarHelper().reset();
-      }
-      EventHandler.trigger(this._element, EVENT_HIDDEN$3);
-    };
-    this._queueCallback(completeCallback, this._element, true);
+    this._inputs[0]?.focus();
   }
-  dispose() {
-    this._backdrop.dispose();
-    this._focustrap.deactivate();
-    super.dispose();
+  focus() {
+    // Focus first empty input, or last input if all filled
+    const emptyInput = this._inputs.find(input => !input.value);
+    if (emptyInput) {
+      emptyInput.focus();
+    } else {
+      this._inputs.at(-1)?.focus();
+    }
   }
 
   // Private
-  _initializeBackDrop() {
-    const clickCallback = () => {
-      if (this._config.backdrop === 'static') {
-        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
-        return;
+  _setupInputs() {
+    for (const input of this._inputs) {
+      // Set attributes for proper OTP handling
+      input.setAttribute('maxlength', '1');
+      input.setAttribute('inputmode', 'numeric');
+      input.setAttribute('pattern', '\\d*');
+
+      // First input gets autocomplete for browser OTP autofill
+      if (input === this._inputs[0]) {
+        input.setAttribute('autocomplete', 'one-time-code');
+      } else {
+        input.setAttribute('autocomplete', 'off');
       }
-      this.hide();
-    };
 
-    // 'static' option will be translated to true, and booleans will keep their value
-    const isVisible = Boolean(this._config.backdrop);
-    return new Backdrop({
-      className: CLASS_NAME_BACKDROP,
-      isVisible,
-      isAnimated: true,
-      rootElement: this._element.parentNode,
-      clickCallback: isVisible ? clickCallback : null
-    });
-  }
-  _initializeFocusTrap() {
-    return new FocusTrap({
-      trapElement: this._element
-    });
+      // Mask input if configured
+      if (this._config.mask) {
+        input.setAttribute('type', 'password');
+      }
+    }
   }
   _addEventListeners() {
-    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
-      if (event.key !== ESCAPE_KEY) {
-        return;
-      }
-      if (this._config.keyboard) {
-        this.hide();
-        return;
+    for (const [index, input] of this._inputs.entries()) {
+      EventHandler.on(input, 'input', event => this._handleInput(event, index));
+      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index));
+      EventHandler.on(input, 'paste', event => this._handlePaste(event));
+      EventHandler.on(input, 'focus', event => this._handleFocus(event));
+    }
+  }
+  _handleInput(event, index) {
+    const input = event.target;
+
+    // Only allow digits
+    if (!/^\d*$/.test(input.value)) {
+      input.value = input.value.replace(/\D/g, '');
+    }
+    const {
+      value
+    } = input;
+
+    // Handle multi-character input (some browsers/autofill)
+    if (value.length > 1) {
+      // Distribute characters across inputs
+      const chars = value.split('');
+      input.value = chars[0] || '';
+      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {
+        this._inputs[index + i].value = chars[i];
       }
-      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+
+      // Focus appropriate input
+      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1);
+      this._inputs[nextIndex].focus();
+    } else if (value && index < this._inputs.length - 1) {
+      // Auto-advance to next input
+      this._inputs[index + 1].focus();
+    }
+    EventHandler.trigger(this._element, EVENT_INPUT, {
+      value: this.getValue(),
+      index
     });
+    this._checkComplete();
+  }
+  _handleKeydown(event, index) {
+    const {
+      key
+    } = event;
+    switch (key) {
+      case 'Backspace':
+        {
+          if (!this._inputs[index].value && index > 0) {
+            // Move to previous input and clear it
+            event.preventDefault();
+            this._inputs[index - 1].value = '';
+            this._inputs[index - 1].focus();
+          }
+          break;
+        }
+      case 'Delete':
+        {
+          // Clear current and shift remaining values left
+          event.preventDefault();
+          for (let i = index; i < this._inputs.length - 1; i++) {
+            this._inputs[i].value = this._inputs[i + 1].value;
+          }
+          this._inputs.at(-1).value = '';
+          break;
+        }
+      case 'ArrowLeft':
+        {
+          if (index > 0) {
+            event.preventDefault();
+            this._inputs[index - 1].focus();
+          }
+          break;
+        }
+      case 'ArrowRight':
+        {
+          if (index < this._inputs.length - 1) {
+            event.preventDefault();
+            this._inputs[index + 1].focus();
+          }
+          break;
+        }
+
+      // No default
+    }
+  }
+  _handlePaste(event) {
+    event.preventDefault();
+    const pastedData = (event.clipboardData || window.clipboardData).getData('text');
+    const digits = pastedData.replace(/\D/g, '').slice(0, this._inputs.length);
+    if (digits) {
+      this.setValue(digits);
+
+      // Focus last filled input or last input
+      const lastIndex = Math.min(digits.length, this._inputs.length) - 1;
+      this._inputs[lastIndex].focus();
+    }
+  }
+  _handleFocus(event) {
+    // Select the content on focus for easy replacement
+    event.target.select();
+  }
+  _checkComplete() {
+    const value = this.getValue();
+    const isComplete = value.length === this._inputs.length && this._inputs.every(input => input.value !== '');
+    if (isComplete) {
+      EventHandler.trigger(this._element, EVENT_COMPLETE, {
+        value
+      });
+    }
   }
 }
 
@@ -2800,42 +4164,11 @@ class Offcanvas extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$3, function (event) {
-  const target = SelectorEngine.getElementFromSelector(this);
-  if (['A', 'AREA'].includes(this.tagName)) {
-    event.preventDefault();
-  }
-  if (isDisabled(this)) {
-    return;
-  }
-  EventHandler.one(target, EVENT_HIDDEN$3, () => {
-    // focus on trigger when it is closed
-    if (isVisible(this)) {
-      this.focus();
-    }
-  });
-
-  // avoid conflict when clicking a toggler of an offcanvas, while another is open
-  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
-  if (alreadyOpen && alreadyOpen !== target) {
-    Offcanvas.getInstance(alreadyOpen).hide();
-  }
-  const data = Offcanvas.getOrCreateInstance(target);
-  data.toggle(this);
-});
-EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
-  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
-    Offcanvas.getOrCreateInstance(selector).show();
-  }
-});
-EventHandler.on(window, EVENT_RESIZE, () => {
-  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
-    if (getComputedStyle(element).position !== 'fixed') {
-      Offcanvas.getOrCreateInstance(element).hide();
-    }
+EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$4}${DATA_API_KEY$1}`, () => {
+  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {
+    OtpInput.getOrCreateInstance(element);
   }
 });
-enableDismissTrigger(Offcanvas);
 
 /**
  * --------------------------------------------------------------------------
@@ -2944,8 +4277,8 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
  * Constants
  */
 
-const NAME$5 = 'TemplateFactory';
-const Default$4 = {
+const NAME$6 = 'TemplateFactory';
+const Default$5 = {
   allowList: DefaultAllowlist,
   content: {},
   // { selector : text ,  selector2 : text2 , }
@@ -2955,7 +4288,7 @@ const Default$4 = {
   sanitizeFn: null,
   template: '<div></div>'
 };
-const DefaultType$4 = {
+const DefaultType$5 = {
   allowList: 'object',
   content: 'object',
   extraClass: '(string|function)',
@@ -2981,13 +4314,13 @@ class TemplateFactory extends Config {
 
   // Getters
   static get Default() {
-    return Default$4;
+    return Default$5;
   }
   static get DefaultType() {
-    return DefaultType$4;
+    return DefaultType$5;
   }
   static get NAME() {
-    return NAME$5;
+    return NAME$6;
   }
 
   // Public
@@ -3080,14 +4413,14 @@ class TemplateFactory extends Config {
  * Constants
  */
 
-const NAME$4 = 'tooltip';
+const NAME$5 = 'tooltip';
 const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
 const CLASS_NAME_FADE$2 = 'fade';
 const CLASS_NAME_MODAL = 'modal';
 const CLASS_NAME_SHOW$2 = 'show';
 const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
 const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;
-const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="tooltip"]';
+const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="tooltip"]';
 const EVENT_MODAL_HIDE = 'hide.bs.modal';
 const TRIGGER_HOVER = 'hover';
 const TRIGGER_FOCUS = 'focus';
@@ -3098,7 +4431,7 @@ const EVENT_HIDDEN$2 = 'hidden';
 const EVENT_SHOW$2 = 'show';
 const EVENT_SHOWN$2 = 'shown';
 const EVENT_INSERTED = 'inserted';
-const EVENT_CLICK$2 = 'click';
+const EVENT_CLICK$3 = 'click';
 const EVENT_FOCUSIN$2 = 'focusin';
 const EVENT_FOCUSOUT$1 = 'focusout';
 const EVENT_MOUSEENTER$1 = 'mouseenter';
@@ -3110,7 +4443,7 @@ const AttachmentMap = {
   BOTTOM: 'bottom',
   LEFT: isRTL() ? 'right' : 'left'
 };
-const Default$3 = {
+const Default$4 = {
   allowList: DefaultAllowlist,
   animation: true,
   boundary: 'clippingParents',
@@ -3129,7 +4462,7 @@ const Default$3 = {
   title: '',
   trigger: 'hover focus'
 };
-const DefaultType$3 = {
+const DefaultType$4 = {
   allowList: 'object',
   animation: 'boolean',
   boundary: '(string|element)',
@@ -3182,13 +4515,13 @@ class Tooltip extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$3;
+    return Default$4;
   }
   static get DefaultType() {
-    return DefaultType$3;
+    return DefaultType$4;
   }
   static get NAME() {
-    return NAME$4;
+    return NAME$5;
   }
 
   // Public
@@ -3536,7 +4869,7 @@ class Tooltip extends BaseComponent {
     const triggers = this._config.trigger.split(' ');
     for (const trigger of triggers) {
       if (trigger === 'click') {
-        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$2), this._config.selector, event => {
+        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$3), this._config.selector, event => {
           const context = this._initializeOnDelegatedTarget(event);
           context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]);
           context.toggle();
@@ -3668,7 +5001,7 @@ class Tooltip extends BaseComponent {
  */
 
 const initTooltip = event => {
-  const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
+  const target = event.target.closest(SELECTOR_DATA_TOGGLE$3);
   if (!target) {
     return;
   }
@@ -3682,8 +5015,8 @@ const initTooltip = event => {
     tooltip._enter();
   }
 };
-EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$2, initTooltip);
-EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$2, initTooltip);
+EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$3, initTooltip);
+EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$3, initTooltip);
 
 /**
  * --------------------------------------------------------------------------
@@ -3697,14 +5030,14 @@ EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$2, initToolti
  * Constants
  */
 
-const NAME$3 = 'popover';
+const NAME$4 = 'popover';
 const SELECTOR_TITLE = '.popover-header';
 const SELECTOR_CONTENT = '.popover-body';
-const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="popover"]';
-const EVENT_CLICK$1 = 'click';
+const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="popover"]';
+const EVENT_CLICK$2 = 'click';
 const EVENT_FOCUSIN$1 = 'focusin';
 const EVENT_MOUSEENTER = 'mouseenter';
-const Default$2 = {
+const Default$3 = {
   ...Tooltip.Default,
   content: '',
   offset: [0, 8],
@@ -3712,7 +5045,7 @@ const Default$2 = {
   template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
   trigger: 'click'
 };
-const DefaultType$2 = {
+const DefaultType$3 = {
   ...Tooltip.DefaultType,
   content: '(null|string|element|function)'
 };
@@ -3724,13 +5057,13 @@ const DefaultType$2 = {
 class Popover extends Tooltip {
   // Getters
   static get Default() {
-    return Default$2;
+    return Default$3;
   }
   static get DefaultType() {
-    return DefaultType$2;
+    return DefaultType$3;
   }
   static get NAME() {
-    return NAME$3;
+    return NAME$4;
   }
 
   // Overrides
@@ -3755,7 +5088,7 @@ class Popover extends Tooltip {
  */
 
 const initPopover = event => {
-  const target = event.target.closest(SELECTOR_DATA_TOGGLE$1);
+  const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
   if (!target) {
     return;
   }
@@ -3778,9 +5111,9 @@ const initPopover = event => {
 };
 
 // Support click (default), hover, and focus triggers
-EventHandler.on(document, EVENT_CLICK$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$1, initPopover);
+EventHandler.on(document, EVENT_CLICK$2, SELECTOR_DATA_TOGGLE$2, initPopover);
+EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$2, initPopover);
+EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$2, initPopover);
 
 /**
  * --------------------------------------------------------------------------
@@ -3794,13 +5127,13 @@ EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$1, initPopover)
  * Constants
  */
 
-const NAME$2 = 'scrollspy';
-const DATA_KEY$2 = 'bs.scrollspy';
-const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+const NAME$3 = 'scrollspy';
+const DATA_KEY$3 = 'bs.scrollspy';
+const EVENT_KEY$3 = `.${DATA_KEY$3}`;
 const DATA_API_KEY = '.data-api';
-const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
-const EVENT_CLICK = `click${EVENT_KEY$2}`;
-const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
+const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
+const EVENT_CLICK$1 = `click${EVENT_KEY$3}`;
+const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$3}${DATA_API_KEY}`;
 const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
 const CLASS_NAME_ACTIVE$1 = 'active';
 const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
@@ -3812,7 +5145,7 @@ const SELECTOR_LIST_ITEMS = '.list-group-item';
 const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
 const SELECTOR_DROPDOWN = '.dropdown';
 const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
-const Default$1 = {
+const Default$2 = {
   offset: null,
   // TODO: v6 @deprecated, keep it for backwards compatibility reasons
   rootMargin: '0px 0px -25%',
@@ -3820,7 +5153,7 @@ const Default$1 = {
   target: null,
   threshold: [0.1, 0.5, 1]
 };
-const DefaultType$1 = {
+const DefaultType$2 = {
   offset: '(number|null)',
   // TODO v6 @deprecated, keep it for backwards compatibility reasons
   rootMargin: 'string',
@@ -3852,13 +5185,13 @@ class ScrollSpy extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$1;
+    return Default$2;
   }
   static get DefaultType() {
-    return DefaultType$1;
+    return DefaultType$2;
   }
   static get NAME() {
-    return NAME$2;
+    return NAME$3;
   }
 
   // Public
@@ -3897,8 +5230,8 @@ class ScrollSpy extends BaseComponent {
     }
 
     // unregister any previous listeners
-    EventHandler.off(this._config.target, EVENT_CLICK);
-    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
+    EventHandler.off(this._config.target, EVENT_CLICK$1);
+    EventHandler.on(this._config.target, EVENT_CLICK$1, SELECTOR_TARGET_LINKS, event => {
       const observableSection = this._observableSections.get(event.target.hash);
       if (observableSection) {
         event.preventDefault();
@@ -4034,16 +5367,16 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
  * Constants
  */
 
-const NAME$1 = 'tab';
-const DATA_KEY$1 = 'bs.tab';
-const EVENT_KEY$1 = `.${DATA_KEY$1}`;
-const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;
-const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;
-const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;
-const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;
-const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;
-const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;
-const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;
+const NAME$2 = 'tab';
+const DATA_KEY$2 = 'bs.tab';
+const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+const EVENT_HIDE$1 = `hide${EVENT_KEY$2}`;
+const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$2}`;
+const EVENT_SHOW$1 = `show${EVENT_KEY$2}`;
+const EVENT_SHOWN$1 = `shown${EVENT_KEY$2}`;
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY$2}`;
+const EVENT_KEYDOWN = `keydown${EVENT_KEY$2}`;
+const EVENT_LOAD_DATA_API = `load${EVENT_KEY$2}`;
 const ARROW_LEFT_KEY = 'ArrowLeft';
 const ARROW_RIGHT_KEY = 'ArrowRight';
 const ARROW_UP_KEY = 'ArrowUp';
@@ -4060,8 +5393,8 @@ const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;
 const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
 const SELECTOR_OUTER = '.nav-item, .list-group-item';
 const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
-const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
-const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
+const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
+const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`;
 const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
 
 /**
@@ -4085,7 +5418,7 @@ class Tab extends BaseComponent {
 
   // Getters
   static get NAME() {
-    return NAME$1;
+    return NAME$2;
   }
 
   // Public
@@ -4254,7 +5587,7 @@ class Tab extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE$1, function (event) {
   if (['A', 'AREA'].includes(this.tagName)) {
     event.preventDefault();
   }
@@ -4285,27 +5618,27 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
  * Constants
  */
 
-const NAME = 'toast';
-const DATA_KEY = 'bs.toast';
-const EVENT_KEY = `.${DATA_KEY}`;
-const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
-const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
-const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
-const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
-const EVENT_HIDE = `hide${EVENT_KEY}`;
-const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
-const EVENT_SHOW = `show${EVENT_KEY}`;
-const EVENT_SHOWN = `shown${EVENT_KEY}`;
+const NAME$1 = 'toast';
+const DATA_KEY$1 = 'bs.toast';
+const EVENT_KEY$1 = `.${DATA_KEY$1}`;
+const EVENT_MOUSEOVER = `mouseover${EVENT_KEY$1}`;
+const EVENT_MOUSEOUT = `mouseout${EVENT_KEY$1}`;
+const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`;
+const EVENT_FOCUSOUT = `focusout${EVENT_KEY$1}`;
+const EVENT_HIDE = `hide${EVENT_KEY$1}`;
+const EVENT_HIDDEN = `hidden${EVENT_KEY$1}`;
+const EVENT_SHOW = `show${EVENT_KEY$1}`;
+const EVENT_SHOWN = `shown${EVENT_KEY$1}`;
 const CLASS_NAME_FADE = 'fade';
 const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility
 const CLASS_NAME_SHOW = 'show';
 const CLASS_NAME_SHOWING = 'showing';
-const DefaultType = {
+const DefaultType$1 = {
   animation: 'boolean',
   autohide: 'boolean',
   delay: 'number'
 };
-const Default = {
+const Default$1 = {
   animation: true,
   autohide: true,
   delay: 5000
@@ -4326,13 +5659,13 @@ class Toast extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default;
+    return Default$1;
   }
   static get DefaultType() {
-    return DefaultType;
+    return DefaultType$1;
   }
   static get NAME() {
-    return NAME;
+    return NAME$1;
   }
 
   // Public
@@ -4437,5 +5770,88 @@ class Toast extends BaseComponent {
 
 enableDismissTrigger(Toast);
 
-export { Alert, Button, Carousel, Collapse, Dialog, Dropdown, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap toggler.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME = 'toggler';
+const DATA_KEY = 'bs.toggler';
+const EVENT_KEY = `.${DATA_KEY}`;
+const EVENT_TOGGLE = `toggle${EVENT_KEY}`;
+const EVENT_TOGGLED = `toggled${EVENT_KEY}`;
+const EVENT_CLICK = 'click';
+const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="toggler"]';
+const DefaultType = {
+  attribute: 'string',
+  value: '(string|number|boolean)'
+};
+const Default = {
+  attribute: 'class',
+  value: null
+};
+
+/**
+ * Class definition
+ */
+
+class Toggler extends BaseComponent {
+  // Getters
+  static get Default() {
+    return Default;
+  }
+  static get DefaultType() {
+    return DefaultType;
+  }
+  static get NAME() {
+    return NAME;
+  }
+
+  // Public
+  toggle() {
+    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE);
+    if (toggleEvent.defaultPrevented) {
+      return;
+    }
+    this._execute();
+    EventHandler.trigger(this._element, EVENT_TOGGLED);
+  }
+
+  // Private
+  _execute() {
+    const {
+      attribute,
+      value
+    } = this._config;
+    if (attribute === 'id') {
+      return; // You have to be kidding
+    }
+    if (attribute === 'class') {
+      this._element.classList.toggle(value);
+      return;
+    }
+
+    // Compare as strings since getAttribute() always returns a string
+    if (this._element.getAttribute(attribute) === String(value)) {
+      this._element.removeAttribute(attribute);
+      return;
+    }
+    this._element.setAttribute(attribute, value);
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
+
+export { Alert, Button, Carousel, Collapse, Datepicker, Dialog, Dropdown, Offcanvas, OtpInput, Popover, ScrollSpy, Strength, Tab, Toast, Toggler, Tooltip };
 //# sourceMappingURL=bootstrap.esm.js.map
index 4863e4731e66a6205e1a0cddcc2db68f3d16a506..fa4f948c7a541b4a50f5c0c0936a712fffc86b1f 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","data","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showEvent","showModal","body","hideEvent","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","autoClose","boundary","display","offset","floatingConfig","reference","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","referenceElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","assign","position","left","top","margin","_setupMediaQueryListeners","_getOffset","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","right","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
index f5cc6e75cad0995a7d7ec0c016388a8c05e3444b..fc773ca587bddb4538161dd4ba9f0c0d4bdf6e5a 100644 (file)
@@ -1,7 +1,7 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-import{computePosition,autoUpdate,offset,flip,shift,arrow}from"@floating-ui/dom";const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return hydrateObj(s,{delegateTarget:r}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(r,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,r,a]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};r=e(r)}const l=getElementEvents(e),c=l[a]||(l[a]={}),_=findHandler(c,r,o?n:null);if(_)return void(_.oneOff=_.oneOff&&s);const E=makeEventUid(r,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,r):bootstrapHandler(e,r);h.delegationSelector=o?n:null,h.callable=r,h.oneOff=s,h.uidEvent=E,c[E]=h,e.addEventListener(a,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,r]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,r.callable,r.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,r]=normalizeParameters(t,n,i),a=r!==t,l=getElementEvents(e),c=l[r]||{},_=t.startsWith(".");if(void 0===o){if(_)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");a&&!t.includes(s)||removeHandler(e,l,r,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,l,r,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="5.3.8";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$7="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=`.${DATA_KEY$9}`,DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$7,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$7);Button.getOrCreateInstance(t).toggle()});const NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$8}`,EVENT_SLID=`slid${EVENT_KEY$8}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$8}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$8}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$8}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$8}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$8}.data-api`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$8}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$1]:"right",[ARROW_RIGHT_KEY$1]:"left"},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide("next")}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),r=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(r(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(l),s.classList.add(l),this._queueCallback(()=>{s.classList.remove(l,c),s.classList.add("active"),n.classList.remove("active",c,l),this._isSliding=!1,r(EVENT_SLID)},n,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$6=`show${EVENT_KEY$7}`,EVENT_SHOWN$6=`shown${EVENT_KEY$7}`,EVENT_HIDE$6=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$7}.data-api`,CLASS_NAME_SHOW$6="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$6)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$6,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const NAME$a="dialog",DATA_KEY$6="bs.dialog",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_SHOW$5=`show${EVENT_KEY$6}`,EVENT_SHOWN$5=`shown${EVENT_KEY$6}`,EVENT_HIDE$5=`hide${EVENT_KEY$6}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$6}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$6}`,EVENT_CANCEL=`cancel${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$6}.data-api`,CLASS_NAME_STATIC="dialog-static",CLASS_NAME_OPEN="dialog-open",CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',SELECTOR_OPEN_MODAL_DIALOG="dialog.dialog[open]:not(.dialog-nonmodal)",Default$9={backdrop:!0,keyboard:!0,modal:!0},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$5,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add("dialog-open")):(this._element.classList.add("dialog-nonmodal"),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$5,{relatedTarget:e})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){EventHandler.off(this._element,EVENT_KEY$6),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove("dialog-nonmodal"),this._isTransitioning=!1,document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)||document.body.classList.remove("dialog-open"),EventHandler.trigger(this._element,EVENT_HIDDEN$5)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented||(this._element.classList.add("dialog-static"),this._queueCallback(()=>{this._element.classList.remove("dialog-static")},this._element))}_addEventListeners(){EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,"keydown",e=>{"Escape"!==e.key||this._config.modal||(e.preventDefault(),this._config.keyboard&&(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()))}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$5,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$5,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$9="dropdown",DATA_KEY$5="bs.dropdown",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$4=`hide${EVENT_KEY$5}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$5}`,EVENT_SHOW$4=`show${EVENT_KEY$5}`,EVENT_SHOWN$4=`shown${EVENT_KEY$5}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$5}.data-api`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$5}.data-api`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$5}.data-api`,CLASS_NAME_SHOW$5="show",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$4}.show`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT=isRTL()?"bottom-end":"bottom-start",Default$8={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:DEFAULT_PLACEMENT,reference:"toggle"},DefaultType$8={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._parseResponsivePlacements()}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$4,e).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$4,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$4,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),EventHandler.trigger(this._element,EVENT_HIDDEN$4,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu||!this._menu.isConnected)return;e||(e="parent"===this._config.reference?this._parent:isElement(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n),{x:s,y:o,placement:r}=await computePosition(e,this._menu,i);this._menu&&this._menu.isConnected&&(Object.assign(this._menu.style,{position:"absolute",left:`${s}px`,top:`${o}px`,margin:"0"}),Manipulator.setDataAttribute(this._menu,"placement",r))}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){return this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,DEFAULT_PLACEMENT):this._config.placement}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,DEFAULT_PLACEMENT),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_selectMenuItem({key:e,target:t}){const n=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e));n.length&&getNextActiveElement(n,t,e===ARROW_DOWN_KEY$1,!n.includes(t)).focus()}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const n of t){const t=Dropdown.getInstance(n);if(!t||!1===t._config.autoClose)continue;const i=e.composedPath(),s=i.includes(t._menu);if(i.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:t._element};"click"===e.type&&(o.clickEvent=e),t._completeHide(o)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(e.key);if(!i&&!n)return;if(t&&!n)return;e.preventDefault();const s=this.matches(SELECTOR_DATA_TOGGLE$4)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$4)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$4)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4,e.delegateTarget.parentNode),o=Dropdown.getOrCreateInstance(s);if(i)return e.stopPropagation(),o.show(),void o._selectMenuItem(e);o._isShown()&&(e.stopPropagation(),o.hide(),s.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$4,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$2,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$4,function(e){e.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()});const NAME$8="backdrop",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$8}`,Default$7={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$7={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation(()=>{execute(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),execute(e)})):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$7="focustrap",DATA_KEY$4="bs.focustrap",EVENT_KEY$4=`.${DATA_KEY$4}`,EVENT_FOCUSIN$3=`focusin${EVENT_KEY$4}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$4}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$6={autofocus:!0,trapElement:null},DefaultType$6={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$4),EventHandler.on(document,EVENT_FOCUSIN$3,e=>this._handleFocusin(e)),EventHandler.on(document,EVENT_KEYDOWN_TAB,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$4))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",t=>t+e),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",t=>t+e),this._setElementAttributes(".sticky-top","margin-right",t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(isElement(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$3}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$3}`,EVENT_SHOWN$3=`shown${EVENT_KEY$3}`,EVENT_HIDE$3=`hide${EVENT_KEY$3}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$3}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$3}`,EVENT_RESIZE=`resize${EVENT_KEY$3}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$3}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$3}`,SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing"),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$3,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$2="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:r,placement:a,middlewareData:l}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${r}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",a),n&&l.arrow){const{x:e,y:t}=l.arrow,i=a.startsWith("top")||a.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initTooltip);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="popover"]',EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$2={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$2={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$1);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$1,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$1,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$1,initPopover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=`.${DATA_KEY$2}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$2}`,EVENT_CLICK=`click${EVENT_KEY$2}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$2}.data-api`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))SelectorEngine.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add("active");else for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=":not(.dropdown-toggle)",SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER='.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle)',SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const i=(e,i)=>{const s=SelectorEngine.findOne(e,n);s&&s.classList.toggle(i,t)};i(".dropdown-toggle","active"),i(".dropdown-menu","show"),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=`.${DATA_KEY}`,EVENT_MOUSEOVER=`mouseover${EVENT_KEY}`,EVENT_MOUSEOUT=`mouseout${EVENT_KEY}`,EVENT_FOCUSIN=`focusin${EVENT_KEY}`,EVENT_FOCUSOUT=`focusout${EVENT_KEY}`,EVENT_HIDE=`hide${EVENT_KEY}`,EVENT_HIDDEN=`hidden${EVENT_KEY}`,EVENT_SHOW=`show${EVENT_KEY}`,EVENT_SHOWN=`shown${EVENT_KEY}`,CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);export{Alert,Button,Carousel,Collapse,Dialog,Dropdown,Offcanvas,Popover,ScrollSpy,Tab,Toast,Tooltip};
+import{Calendar}from"vanilla-calendar-pro";import{computePosition,autoUpdate,offset,flip,shift,arrow}from"@floating-ui/dom";const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return hydrateObj(s,{delegateTarget:r}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(r,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,r,a]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};r=e(r)}const l=getElementEvents(e),c=l[a]||(l[a]={}),_=findHandler(c,r,o?n:null);if(_)return void(_.oneOff=_.oneOff&&s);const E=makeEventUid(r,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,r):bootstrapHandler(e,r);h.delegationSelector=o?n:null,h.callable=r,h.oneOff=s,h.uidEvent=E,c[E]=h,e.addEventListener(a,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,r]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,r.callable,r.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,r]=normalizeParameters(t,n,i),a=r!==t,l=getElementEvents(e),c=l[r]||{},_=t.startsWith(".");if(void 0===o){if(_)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");a&&!t.includes(s)||removeHandler(e,l,r,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,l,r,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="5.3.8";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},eventActionOnPlugin=(e,t,n,i,s=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof s&&s({...t,instances:n});for(const e of n)e[i]()})},eventAction=(e,t,n)=>{const i=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,i,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),i=t?SelectorEngine.find(t):[this];n({targets:i,event:e})})},NAME$j="alert",DATA_KEY$e="bs.alert",EVENT_KEY$f=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$7="show";class Alert extends BaseComponent{static get NAME(){return NAME$j}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$i="button",DATA_KEY$d="bs.button",EVENT_KEY$e=`.${DATA_KEY$d}`,DATA_API_KEY$9=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$i}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_TOGGLE$9,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$9);Button.getOrCreateInstance(t).toggle()});const NAME$h="swipe",EVENT_KEY$d=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$g={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$g={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$g="carousel",DATA_KEY$c="bs.carousel",EVENT_KEY$c=`.${DATA_KEY$c}`,DATA_API_KEY$8=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$c}`,EVENT_SLID=`slid${EVENT_KEY$c}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$c}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$c}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$c}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$c}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$c}.data-api`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$c}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$f={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$f={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}next(){this._slide("next")}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),r=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(r(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(l),s.classList.add(l),this._queueCallback(()=>{s.classList.remove(l,c),s.classList.add("active"),n.classList.remove("active",c,l),this._isSliding=!1,r(EVENT_SLID)},n,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$f="collapse",DATA_KEY$b="bs.collapse",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$7=".data-api",EVENT_SHOW$7=`show${EVENT_KEY$b}`,EVENT_SHOWN$7=`shown${EVENT_KEY$b}`,EVENT_HIDE$7=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$7=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$6="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="collapse"]',Default$e={parent:null,toggle:!0},DefaultType$e={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$8);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return NAME$f}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$7).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$7)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$7).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$7)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$8);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const NAME$e="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE=`change${EVENT_KEY$a}`,EVENT_SHOW$6=`show${EVENT_KEY$a}`,EVENT_SHOWN$6=`shown${EVENT_KEY$a}`,EVENT_HIDE$6=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$d={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$d={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$6))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$6)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,i]=e.split("-");return new Date(t,n-1,i)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(t,n):i&&"object"==typeof i?new Intl.DateTimeFormat(n,i).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" â€“ ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$7,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const NAME$d="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$5=`show${EVENT_KEY$9}`,EVENT_SHOWN$5=`shown${EVENT_KEY$9}`,EVENT_HIDE$5=`hide${EVENT_KEY$9}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$9}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_STATIC="dialog-static",CLASS_NAME_OPEN="dialog-open",CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="dialog"]',SELECTOR_OPEN_MODAL_DIALOG="dialog.dialog[open]:not(.dialog-nonmodal)",Default$c={backdrop:!0,keyboard:!0,modal:!0},DefaultType$c={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$5,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add("dialog-open")):(this._element.classList.add("dialog-nonmodal"),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$5,{relatedTarget:e})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){EventHandler.off(this._element,EVENT_KEY$9),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove("dialog-nonmodal"),this._isTransitioning=!1,document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)||document.body.classList.remove("dialog-open"),EventHandler.trigger(this._element,EVENT_HIDDEN$5)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented||(this._element.classList.add("dialog-static"),this._queueCallback(()=>{this._element.classList.remove("dialog-static")},this._element))}_addEventListeners(){EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,"keydown",e=>{"Escape"!==e.key||this._config.modal||(e.preventDefault(),this._config.keyboard&&(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()))}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$5,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$5,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$c="dropdown",DATA_KEY$8="bs.dropdown",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$4=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$4=`hide${EVENT_KEY$8}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$8}`,EVENT_SHOW$4=`show${EVENT_KEY$8}`,EVENT_SHOWN$4=`shown${EVENT_KEY$8}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$8}.data-api`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$8}.data-api`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$8}.data-api`,CLASS_NAME_SHOW$5="show",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$5}.show`,SELECTOR_MENU=".dropdown-menu",SELECTOR_SUBMENU=".dropdown-submenu",SELECTOR_SUBMENU_TOGGLE=".dropdown-submenu > .dropdown-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$b={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:"bottom-start",reference:"toggle",submenuTrigger:"both",submenuDelay:100},DefaultType$b={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)",submenuTrigger:"string",submenuDelay:"number"};class Dropdown extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList.contains("dropdown-submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$4,e).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus(),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$4,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$4,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),EventHandler.trigger(this._element,EVENT_HIDDEN$4,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,i.placement,i.middleware)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}async _applyFloatingPosition(e,t,n,i){if(!t.isConnected)return null;const{x:s,y:o,placement:r}=await computePosition(e,t,{placement:n,middleware:i});return t.isConnected?(Object.assign(t.style,{position:"absolute",left:`${s}px`,top:`${o}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",r),r):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",SELECTOR_SUBMENU_TOGGLE,e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",SELECTOR_SUBMENU,e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",SELECTOR_SUBMENU_TOGGLE,e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(SELECTOR_SUBMENU_TOGGLE);if(!t)return;const n=t.closest(SELECTOR_SUBMENU),i=SelectorEngine.findOne(SELECTOR_MENU,n);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n))}_onSubmenuLeave(e){const t=e.target.closest(SELECTOR_SUBMENU),n=SelectorEngine.findOne(SELECTOR_MENU,t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(SELECTOR_SUBMENU_TOGGLE);if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(SELECTOR_SUBMENU),i=SelectorEngine.findOne(SELECTOR_MENU,n);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const i=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,i),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.show`,e);for(const e of n){const t=e.closest(SELECTOR_SUBMENU);this._closeSubmenu(e,t)}const i=SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE,t),s=this._openSubmenus.get(e);s&&s(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(SELECTOR_SUBMENU);this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.show`,t);for(const t of n){const n=t.closest(SELECTOR_SUBMENU);n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const i=n,s=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],r=()=>this._applyFloatingPosition(i,t,s,o);return r(),autoUpdate(i,t,r)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),i={x:e.clientX,y:e.clientY},s={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL()?n.right:n.left,r={x:o,y:n.top},a={x:o,y:n.bottom};return this._pointInTriangle(i,s,r,a)}_pointInTriangle(e,t,n,i){const s=triangleSign(e,t,n),o=triangleSign(e,n,i),r=triangleSign(e,i,t);return!((s<0||o<0||r<0)&&(s>0||o>0||r>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(SELECTOR_MENU)||this._menu,i=SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`,n).filter(e=>isVisible(e));i.length&&getNextActiveElement(i,t,e===ARROW_DOWN_KEY$1,!i.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,i=isRTL(),s=i?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=i?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,r=n.closest(SELECTOR_SUBMENU),a=r&&n.matches(SELECTOR_SUBMENU_TOGGLE);if((t===ENTER_KEY||t===SPACE_KEY)&&a){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(SELECTOR_MENU,r);return t&&(this._closeSiblingSubmenus(r),this._openSubmenu(n,t,r),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS,t);e&&e.focus()})),!0}if(t===s&&a){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(SELECTOR_MENU,r);return t&&(this._closeSiblingSubmenus(r),this._openSubmenu(n,t,r),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(SELECTOR_MENU),i=t?.closest(SELECTOR_SUBMENU);if(i){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE,i);return this._closeSubmenu(t,i),n&&n.focus(),!0}}if(t===HOME_KEY$1||t===END_KEY$1){e.preventDefault(),e.stopPropagation();const i=n.closest(SELECTOR_MENU),s=SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`,i).filter(e=>isVisible(e));return s.length&&(t===HOME_KEY$1?s[0]:s[s.length-1]).focus(),!0}return!1}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const n of t){const t=Dropdown.getInstance(n);if(!t||!1===t._config.autoClose)continue;const i=e.composedPath(),s=i.includes(t._menu);if(i.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:t._element};"click"===e.type&&(o.clickEvent=e),t._completeHide(o)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(e.key),s=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$1,END_KEY$1].includes(e.key),r=[ENTER_KEY,SPACE_KEY].includes(e.key),a=e.target.matches(SELECTOR_SUBMENU_TOGGLE);if(!(i||n||s||o||r&&a))return;if(t&&!n)return;const l=this.matches(SELECTOR_DATA_TOGGLE$5)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$5)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$5)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5,e.delegateTarget.parentNode);if(!l)return;const c=Dropdown.getOrCreateInstance(l);if(!(s||o||r&&a)||!c._handleSubmenuKeydown(e)){if(i)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(SELECTOR_MENU),n=t?.closest(SELECTOR_SUBMENU);if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE,n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),l.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$5,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$2,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){e.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()});const NAME$b="backdrop",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$b}`,Default$a={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$a={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation(()=>{execute(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),execute(e)})):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$a="focustrap",DATA_KEY$7="bs.focustrap",EVENT_KEY$7=`.${DATA_KEY$7}`,EVENT_FOCUSIN$3=`focusin${EVENT_KEY$7}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$7}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$9={autofocus:!0,trapElement:null},DefaultType$9={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$7),EventHandler.on(document,EVENT_FOCUSIN$3,e=>this._handleFocusin(e)),EventHandler.on(document,EVENT_KEYDOWN_TAB,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$7))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",t=>t+e),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",t=>t+e),this._setElementAttributes(".sticky-top","margin-right",t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(isElement(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$9="offcanvas",DATA_KEY$6="bs.offcanvas",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$6}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$6}`,EVENT_SHOWN$3=`shown${EVENT_KEY$6}`,EVENT_HIDE$3=`hide${EVENT_KEY$6}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$6}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$6}`,EVENT_RESIZE=`resize${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$6}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$6}`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="offcanvas"]',Default$8={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$8={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing"),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const NAME$8="strength",DATA_KEY$5="bs.strength",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$5}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$7={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$7={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,i]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=i?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$7="otpInput",DATA_KEY$4="bs.otp-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$4}`,EVENT_INPUT=`input${EVENT_KEY$4}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$6={length:6,mask:!1},DefaultType$6={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:i}=n;if(i.length>1){const e=i.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const s=Math.min(t+e.length,this._inputs.length-1);this._inputs[s].focus()}else i&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:r,placement:a,middlewareData:l}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${r}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",a),n&&l.arrow){const{x:e,y:t}=l.arrow,i=a.startsWith("top")||a.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$2={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))SelectorEngine.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add("active");else for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=":not(.dropdown-toggle)",SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER='.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle)',SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const i=(e,i)=>{const s=SelectorEngine.findOne(e,n);s&&s.classList.toggle(i,t)};i(".dropdown-toggle","active"),i(".dropdown-menu","show"),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,Collapse,Datepicker,Dialog,Dropdown,Offcanvas,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
 //# sourceMappingURL=bootstrap.esm.min.js.map
\ No newline at end of file
index 8d013b4775073beb5f6a2b190e20faeca9368177..136316645651330581e12818ce2b94203bb94d1f 100644 (file)
@@ -1 +1 @@
-{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","focus","currentDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","autoClose","boundary","display","offset","floatingConfig","reference","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","referenceElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","assign","position","left","top","margin","_setupMediaQueryListeners","_getOffset","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","right","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","dateStr","year","month","day","Date","_formatDate","date","undefined","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","formatted","String","padStart","getDate","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","focus","currentDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","digits","clipboardData","getData","lastIndex","select","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
index 40e1cce0eacea0353c8f2012fef886df74385f5e..8a5fe42f6272aa5c5ea11304e29148ed70a5f60c 100644 (file)
@@ -1,13 +1,13 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
-  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@floating-ui/dom')) :
-  typeof define === 'function' && define.amd ? define(['@floating-ui/dom'], factory) :
-  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory(global.FloatingUIDOM));
-})(this, (function (dom) { 'use strict';
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vanilla-calendar-pro'), require('@floating-ui/dom')) :
+  typeof define === 'function' && define.amd ? define(['vanilla-calendar-pro', '@floating-ui/dom'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory(global.vanillaCalendarPro, global.FloatingUIDOM));
+})(this, (function (vanillaCalendarPro, dom) { 'use strict';
 
   /**
    * --------------------------------------------------------------------------
       instance[method]();
     });
   };
+  const eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {
+    eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {
+      const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element));
+      if (typeof callback === 'function') {
+        callback({
+          ...data,
+          instances
+        });
+      }
+      for (const instance of instances) {
+        instance[method]();
+      }
+    });
+  };
+  const eventAction = (onEvent, stringSelector, callback) => {
+    const selector = `${stringSelector}:not(.disabled):not(:disabled)`;
+    EventHandler.on(document, onEvent, selector, function (event) {
+      if (['A', 'AREA'].includes(this.tagName)) {
+        event.preventDefault();
+      }
+      const selector = SelectorEngine.getSelectorFromElement(this);
+      const targets = selector ? SelectorEngine.find(selector) : [this];
+      callback({
+        targets,
+        event
+      });
+    });
+  };
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$f = 'alert';
-  const DATA_KEY$a = 'bs.alert';
-  const EVENT_KEY$b = `.${DATA_KEY$a}`;
-  const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-  const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
+  const NAME$j = 'alert';
+  const DATA_KEY$e = 'bs.alert';
+  const EVENT_KEY$f = `.${DATA_KEY$e}`;
+  const EVENT_CLOSE = `close${EVENT_KEY$f}`;
+  const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
   const CLASS_NAME_FADE$4 = 'fade';
   const CLASS_NAME_SHOW$7 = 'show';
 
   class Alert extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$f;
+      return NAME$j;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$e = 'button';
-  const DATA_KEY$9 = 'bs.button';
-  const EVENT_KEY$a = `.${DATA_KEY$9}`;
-  const DATA_API_KEY$6 = '.data-api';
+  const NAME$i = 'button';
+  const DATA_KEY$d = 'bs.button';
+  const EVENT_KEY$e = `.${DATA_KEY$d}`;
+  const DATA_API_KEY$9 = '.data-api';
   const CLASS_NAME_ACTIVE$3 = 'active';
-  const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="button"]';
-  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$9 = '[data-bs-toggle="button"]';
+  const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$e}${DATA_API_KEY$9}`;
 
   /**
    * Class definition
   class Button extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$e;
+      return NAME$i;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$7, event => {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$9, event => {
     event.preventDefault();
-    const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
+    const button = event.target.closest(SELECTOR_DATA_TOGGLE$9);
     const data = Button.getOrCreateInstance(button);
     data.toggle();
   });
    * Constants
    */
 
-  const NAME$d = 'swipe';
-  const EVENT_KEY$9 = '.bs.swipe';
-  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-  const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-  const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+  const NAME$h = 'swipe';
+  const EVENT_KEY$d = '.bs.swipe';
+  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
+  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
+  const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
+  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
+  const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
   const POINTER_TYPE_TOUCH = 'touch';
   const POINTER_TYPE_PEN = 'pen';
   const CLASS_NAME_POINTER_EVENT = 'pointer-event';
   const SWIPE_THRESHOLD = 40;
-  const Default$c = {
+  const Default$g = {
     endCallback: null,
     leftCallback: null,
     rightCallback: null
   };
-  const DefaultType$c = {
+  const DefaultType$g = {
     endCallback: '(function|null)',
     leftCallback: '(function|null)',
     rightCallback: '(function|null)'
 
     // Getters
     static get Default() {
-      return Default$c;
+      return Default$g;
     }
     static get DefaultType() {
-      return DefaultType$c;
+      return DefaultType$g;
     }
     static get NAME() {
-      return NAME$d;
+      return NAME$h;
     }
 
     // Public
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$9);
+      EventHandler.off(this._element, EVENT_KEY$d);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$c = 'carousel';
-  const DATA_KEY$8 = 'bs.carousel';
-  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-  const DATA_API_KEY$5 = '.data-api';
-  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
-  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+  const NAME$g = 'carousel';
+  const DATA_KEY$c = 'bs.carousel';
+  const EVENT_KEY$c = `.${DATA_KEY$c}`;
+  const DATA_API_KEY$8 = '.data-api';
+  const ARROW_LEFT_KEY$2 = 'ArrowLeft';
+  const ARROW_RIGHT_KEY$2 = 'ArrowRight';
   const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
 
   const ORDER_NEXT = 'next';
   const ORDER_PREV = 'prev';
   const DIRECTION_LEFT = 'left';
   const DIRECTION_RIGHT = 'right';
-  const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-  const EVENT_SLID = `slid${EVENT_KEY$8}`;
-  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-  const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$8}`;
-  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-  const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
+  const EVENT_SLID = `slid${EVENT_KEY$c}`;
+  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
+  const EVENT_MOUSEENTER$2 = `mouseenter${EVENT_KEY$c}`;
+  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
+  const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
+  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$c}${DATA_API_KEY$8}`;
+  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
   const CLASS_NAME_CAROUSEL = 'carousel';
   const CLASS_NAME_ACTIVE$2 = 'active';
   const CLASS_NAME_SLIDE = 'slide';
   const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
   const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
   const KEY_TO_DIRECTION = {
-    [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
-    [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
+    [ARROW_LEFT_KEY$2]: DIRECTION_RIGHT,
+    [ARROW_RIGHT_KEY$2]: DIRECTION_LEFT
   };
-  const Default$b = {
+  const Default$f = {
     interval: 5000,
     keyboard: true,
     pause: 'hover',
     touch: true,
     wrap: true
   };
-  const DefaultType$b = {
+  const DefaultType$f = {
     interval: '(number|boolean)',
     // TODO:v6 remove boolean support
     keyboard: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$b;
+      return Default$f;
     }
     static get DefaultType() {
-      return DefaultType$b;
+      return DefaultType$f;
     }
     static get NAME() {
-      return NAME$c;
+      return NAME$g;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
       return;
    * Constants
    */
 
-  const NAME$b = 'collapse';
-  const DATA_KEY$7 = 'bs.collapse';
-  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-  const DATA_API_KEY$4 = '.data-api';
-  const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-  const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-  const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
+  const NAME$f = 'collapse';
+  const DATA_KEY$b = 'bs.collapse';
+  const EVENT_KEY$b = `.${DATA_KEY$b}`;
+  const DATA_API_KEY$7 = '.data-api';
+  const EVENT_SHOW$7 = `show${EVENT_KEY$b}`;
+  const EVENT_SHOWN$7 = `shown${EVENT_KEY$b}`;
+  const EVENT_HIDE$7 = `hide${EVENT_KEY$b}`;
+  const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$b}`;
+  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
   const CLASS_NAME_SHOW$6 = 'show';
   const CLASS_NAME_COLLAPSE = 'collapse';
   const CLASS_NAME_COLLAPSING = 'collapsing';
   const WIDTH = 'width';
   const HEIGHT = 'height';
   const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="collapse"]';
-  const Default$a = {
+  const SELECTOR_DATA_TOGGLE$8 = '[data-bs-toggle="collapse"]';
+  const Default$e = {
     parent: null,
     toggle: true
   };
-  const DefaultType$a = {
+  const DefaultType$e = {
     parent: '(null|element)',
     toggle: 'boolean'
   };
       super(element, config);
       this._isTransitioning = false;
       this._triggerArray = [];
-      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
+      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$8);
       for (const elem of toggleList) {
         const selector = SelectorEngine.getSelectorFromElement(elem);
         const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
 
     // Getters
     static get Default() {
-      return Default$a;
+      return Default$e;
     }
     static get DefaultType() {
-      return DefaultType$a;
+      return DefaultType$e;
     }
     static get NAME() {
-      return NAME$b;
+      return NAME$f;
     }
 
     // Public
       if (activeChildren.length && activeChildren[0]._isTransitioning) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
       if (startEvent.defaultPrevented) {
         return;
       }
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$6);
         this._element.style[dimension] = '';
-        EventHandler.trigger(this._element, EVENT_SHOWN$6);
+        EventHandler.trigger(this._element, EVENT_SHOWN$7);
       };
       const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
       const scrollSize = `scroll${capitalizedDimension}`;
       if (this._isTransitioning || !this._isShown()) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
       if (startEvent.defaultPrevented) {
         return;
       }
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE);
-        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+        EventHandler.trigger(this._element, EVENT_HIDDEN$7);
       };
       this._element.style[dimension] = '';
       this._queueCallback(complete, this._element, true);
       if (!this._config.parent) {
         return;
       }
-      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
+      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$8);
       for (const element of children) {
         const selected = SelectorEngine.getElementFromSelector(element);
         if (selected) {
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$6, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$8, function (event) {
     // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
     if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
       event.preventDefault();
     }
   });
 
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap datepicker.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$e = 'datepicker';
+  const DATA_KEY$a = 'bs.datepicker';
+  const EVENT_KEY$a = `.${DATA_KEY$a}`;
+  const DATA_API_KEY$6 = '.data-api';
+  const EVENT_CHANGE = `change${EVENT_KEY$a}`;
+  const EVENT_SHOW$6 = `show${EVENT_KEY$a}`;
+  const EVENT_SHOWN$6 = `shown${EVENT_KEY$a}`;
+  const EVENT_HIDE$6 = `hide${EVENT_KEY$a}`;
+  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$a}`;
+  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="datepicker"]';
+  const HIDE_DELAY = 100; // ms delay before hiding after selection
+
+  const Default$d = {
+    datepickerTheme: null,
+    // 'light', 'dark', 'auto' - explicit theme for datepicker popover only
+    dateMin: null,
+    dateMax: null,
+    dateFormat: null,
+    // Intl.DateTimeFormat options, or function(date, locale) => string
+    displayElement: null,
+    // Element to show formatted date (defaults to element for buttons)
+    displayMonthsCount: 1,
+    // Number of months to display side-by-side
+    firstWeekday: 1,
+    // Monday
+    inline: false,
+    // Render calendar inline (no popup)
+    locale: 'default',
+    positionElement: null,
+    // Element to position calendar relative to (defaults to input)
+    selectedDates: [],
+    selectionMode: 'single',
+    // 'single', 'multiple', 'multiple-ranged'
+    placement: 'left',
+    // 'left', 'center', 'right', 'auto'
+    vcpOptions: {} // Pass-through for any VCP option
+  };
+  const DefaultType$d = {
+    datepickerTheme: '(null|string)',
+    dateMin: '(null|string|number|object)',
+    dateMax: '(null|string|number|object)',
+    dateFormat: '(null|object|function)',
+    displayElement: '(null|string|element|boolean)',
+    displayMonthsCount: 'number',
+    firstWeekday: 'number',
+    inline: 'boolean',
+    locale: 'string',
+    positionElement: '(null|string|element)',
+    selectedDates: 'array',
+    selectionMode: 'string',
+    placement: 'string',
+    vcpOptions: 'object'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Datepicker extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._calendar = null;
+      this._isShown = false;
+      this._initCalendar();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$d;
+    }
+    static get DefaultType() {
+      return DefaultType$d;
+    }
+    static get NAME() {
+      return NAME$e;
+    }
+
+    // Public
+    toggle() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      return this._isShown ? this.hide() : this.show();
+    }
+    show() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || isDisabled(this._element) || this._isShown) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.show();
+      this._isShown = true;
+      EventHandler.trigger(this._element, EVENT_SHOWN$6);
+    }
+    hide() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || !this._isShown) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.hide();
+      this._isShown = false;
+      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+    }
+    dispose() {
+      if (this._themeObserver) {
+        this._themeObserver.disconnect();
+        this._themeObserver = null;
+      }
+      if (this._calendar) {
+        this._calendar.destroy();
+      }
+      this._calendar = null;
+      super.dispose();
+    }
+    getSelectedDates() {
+      const dates = this._calendar?.context?.selectedDates;
+      return dates ? [...dates] : [];
+    }
+    setSelectedDates(dates) {
+      if (this._calendar) {
+        this._calendar.set({
+          selectedDates: dates
+        });
+      }
+    }
+
+    // Private
+    _initCalendar() {
+      this._isInput = this._element.tagName === 'INPUT';
+      this._isInline = this._config.inline;
+
+      // For inline mode, look for a hidden input child to bind to
+      if (this._isInline && !this._isInput) {
+        this._boundInput = this._element.querySelector('input[type="hidden"], input[name]');
+      }
+      this._positionElement = this._resolvePositionElement();
+      this._displayElement = this._resolveDisplayElement();
+      const calendarOptions = this._buildCalendarOptions();
+
+      // Create calendar on the position element (for correct popup positioning)
+      // but value updates still go to this._element (the input)
+      this._calendar = new vanillaCalendarPro.Calendar(this._positionElement, calendarOptions);
+      this._calendar.init();
+
+      // Watch for theme changes on ancestor elements (for live theme switching)
+      this._setupThemeObserver();
+
+      // Set initial value if input has a value
+      if (this._isInput && this._element.value) {
+        this._parseInputValue();
+      }
+
+      // Populate input/display with preselected dates
+      this._updateDisplayWithSelectedDates();
+    }
+    _updateDisplayWithSelectedDates() {
+      const {
+        selectedDates
+      } = this._config;
+      if (!selectedDates || selectedDates.length === 0) {
+        return;
+      }
+      const formattedDate = this._formatDateForInput(selectedDates);
+      if (this._isInput) {
+        this._element.value = formattedDate;
+      }
+      if (this._boundInput) {
+        this._boundInput.value = selectedDates.join(',');
+      }
+      if (this._displayElement) {
+        this._displayElement.textContent = formattedDate;
+      }
+    }
+    _resolvePositionElement() {
+      let {
+        positionElement
+      } = this._config;
+      if (typeof positionElement === 'string') {
+        positionElement = document.querySelector(positionElement);
+      }
+
+      // Use input's parent if in form-adorn
+      if (!positionElement && this._isInput && !this._isInline) {
+        const parent = this._element.closest('.form-adorn');
+        if (parent) {
+          positionElement = parent;
+        }
+      }
+      return positionElement || this._element;
+    }
+    _resolveDisplayElement() {
+      const {
+        displayElement
+      } = this._config;
+      if (typeof displayElement === 'string') {
+        return document.querySelector(displayElement);
+      }
+
+      // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child
+      if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) {
+        const displayChild = this._element.querySelector('[data-bs-datepicker-display]');
+        return displayChild || this._element;
+      }
+      return displayElement;
+    }
+    _getThemeAncestor() {
+      return this._element.closest('[data-bs-theme]');
+    }
+    _getEffectiveTheme() {
+      // Priority: explicit datepickerTheme config > inherited from ancestor > none
+      const {
+        datepickerTheme
+      } = this._config;
+      if (datepickerTheme) {
+        return datepickerTheme;
+      }
+      const ancestor = this._getThemeAncestor();
+      return ancestor?.getAttribute('data-bs-theme') || null;
+    }
+    _syncThemeAttribute(element) {
+      if (!element) {
+        return;
+      }
+      const theme = this._getEffectiveTheme();
+      if (theme) {
+        // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)
+        element.setAttribute('data-bs-theme', theme);
+      } else {
+        // No theme - remove attribute to allow natural inheritance
+        element.removeAttribute('data-bs-theme');
+      }
+    }
+    _setupThemeObserver() {
+      // Watch for theme changes on ancestor elements
+      const ancestor = this._getThemeAncestor();
+      if (!ancestor || this._config.datepickerTheme) {
+        // No ancestor to watch, or explicit datepickerTheme overrides
+        return;
+      }
+      this._themeObserver = new MutationObserver(() => {
+        this._syncThemeAttribute(this._calendar?.context?.mainElement);
+      });
+      this._themeObserver.observe(ancestor, {
+        attributes: true,
+        attributeFilter: ['data-bs-theme']
+      });
+    }
+    _buildCalendarOptions() {
+      // Get theme for VCP - use 'system' for auto-detection if no explicit theme
+      const theme = this._getEffectiveTheme();
+      // VCP uses 'system' for auto, Bootstrap uses 'auto'
+      const vcpTheme = !theme || theme === 'auto' ? 'system' : theme;
+      const calendarOptions = {
+        ...this._config.vcpOptions,
+        inputMode: !this._isInline,
+        positionToInput: this._config.placement,
+        firstWeekday: this._config.firstWeekday,
+        locale: this._config.locale,
+        selectionDatesMode: this._config.selectionMode,
+        selectedDates: this._config.selectedDates,
+        displayMonthsCount: this._config.displayMonthsCount,
+        type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',
+        selectedTheme: vcpTheme,
+        themeAttrDetect: '[data-bs-theme]',
+        onClickDate: (self, event) => this._handleDateClick(self, event),
+        onInit: self => {
+          this._syncThemeAttribute(self.context.mainElement);
+        },
+        onShow: () => {
+          this._isShown = true;
+          this._syncThemeAttribute(this._calendar.context.mainElement);
+        },
+        onHide: () => {
+          this._isShown = false;
+        }
+      };
+
+      // Navigate to the month of the first selected date
+      if (this._config.selectedDates.length > 0) {
+        const firstDate = this._parseDate(this._config.selectedDates[0]);
+        calendarOptions.selectedMonth = firstDate.getMonth();
+        calendarOptions.selectedYear = firstDate.getFullYear();
+      }
+      if (this._config.dateMin) {
+        calendarOptions.dateMin = this._config.dateMin;
+      }
+      if (this._config.dateMax) {
+        calendarOptions.dateMax = this._config.dateMax;
+      }
+      return calendarOptions;
+    }
+    _handleDateClick(self, event) {
+      const selectedDates = [...self.context.selectedDates];
+      if (selectedDates.length > 0) {
+        const formattedDate = this._formatDateForInput(selectedDates);
+        if (this._isInput) {
+          this._element.value = formattedDate;
+        }
+        if (this._boundInput) {
+          this._boundInput.value = selectedDates.join(',');
+        }
+        if (this._displayElement) {
+          this._displayElement.textContent = formattedDate;
+        }
+      }
+      EventHandler.trigger(this._element, EVENT_CHANGE, {
+        dates: selectedDates,
+        event
+      });
+      this._maybeHideAfterSelection(selectedDates);
+    }
+    _maybeHideAfterSelection(selectedDates) {
+      if (this._isInline) {
+        return;
+      }
+      const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2;
+      if (shouldHide) {
+        setTimeout(() => this.hide(), HIDE_DELAY);
+      }
+    }
+    _parseDate(dateStr) {
+      const [year, month, day] = dateStr.split('-');
+      return new Date(year, month - 1, day);
+    }
+    _formatDate(dateStr) {
+      const date = this._parseDate(dateStr);
+      const locale = this._config.locale === 'default' ? undefined : this._config.locale;
+      const {
+        dateFormat
+      } = this._config;
+
+      // Custom function formatter
+      if (typeof dateFormat === 'function') {
+        return dateFormat(date, locale);
+      }
+
+      // Intl.DateTimeFormat options object
+      if (dateFormat && typeof dateFormat === 'object') {
+        return new Intl.DateTimeFormat(locale, dateFormat).format(date);
+      }
+
+      // Default: locale-aware formatting
+      return date.toLocaleDateString(locale);
+    }
+    _formatDateForInput(dates) {
+      if (dates.length === 0) {
+        return '';
+      }
+      if (dates.length === 1) {
+        return this._formatDate(dates[0]);
+      }
+
+      // For date ranges, use en-dash; for multiple dates, use comma
+      const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', ';
+      return dates.map(d => this._formatDate(d)).join(separator);
+    }
+    _parseInputValue() {
+      // Try to parse the input value as a date
+      const value = this._element.value.trim();
+      if (!value) {
+        return;
+      }
+      const date = new Date(value);
+      if (!Number.isNaN(date.getTime())) {
+        const year = date.getFullYear();
+        const month = String(date.getMonth() + 1).padStart(2, '0');
+        const day = String(date.getDate()).padStart(2, '0');
+        const formatted = `${year}-${month}-${day}`;
+        this._calendar.set({
+          selectedDates: [formatted]
+        });
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$7, function (event) {
+    // Only handle if not an input (inputs use focus)
+    // Skip inline datepickers (they're always visible)
+    if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {
+      return;
+    }
+    event.preventDefault();
+    Datepicker.getOrCreateInstance(this).toggle();
+  });
+  EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE$7, function () {
+    // Handle focus for input elements
+    if (this.tagName !== 'INPUT') {
+      return;
+    }
+    Datepicker.getOrCreateInstance(this).show();
+  });
+
+  // Auto-initialize inline datepickers on DOMContentLoaded
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$6}`, () => {
+    for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`)) {
+      Datepicker.getOrCreateInstance(element);
+    }
+  });
+
   /**
    * --------------------------------------------------------------------------
    * Bootstrap dialog.js
    * Constants
    */
 
-  const NAME$a = 'dialog';
-  const DATA_KEY$6 = 'bs.dialog';
-  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
-  const DATA_API_KEY$3 = '.data-api';
-  const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-  const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-  const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-  const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
-  const EVENT_CANCEL = `cancel${EVENT_KEY$6}`;
-  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+  const NAME$d = 'dialog';
+  const DATA_KEY$9 = 'bs.dialog';
+  const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+  const DATA_API_KEY$5 = '.data-api';
+  const EVENT_SHOW$5 = `show${EVENT_KEY$9}`;
+  const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`;
+  const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`;
+  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`;
+  const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$9}`;
+  const EVENT_CANCEL = `cancel${EVENT_KEY$9}`;
+  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
   const CLASS_NAME_STATIC = 'dialog-static';
   const CLASS_NAME_OPEN = 'dialog-open';
   const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
-  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dialog"]';
+  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="dialog"]';
   const SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)';
-  const Default$9 = {
+  const Default$c = {
     backdrop: true,
     // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
     keyboard: true,
     modal: true // true uses showModal(), false uses show() for non-modal dialogs
   };
-  const DefaultType$9 = {
+  const DefaultType$c = {
     backdrop: '(boolean|string)',
     keyboard: 'boolean',
     modal: 'boolean'
 
     // Getters
     static get Default() {
-      return Default$9;
+      return Default$c;
     }
     static get DefaultType() {
-      return DefaultType$9;
+      return DefaultType$c;
     }
     static get NAME() {
-      return NAME$a;
+      return NAME$d;
     }
 
     // Public
       this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
     }
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$6);
+      EventHandler.off(this._element, EVENT_KEY$9);
       super.dispose();
     }
     handleUpdate() {
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$5, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$6, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
    * Constants
    */
 
-  const NAME$9 = 'dropdown';
-  const DATA_KEY$5 = 'bs.dropdown';
-  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-  const DATA_API_KEY$2 = '.data-api';
+  const NAME$c = 'dropdown';
+  const DATA_KEY$8 = 'bs.dropdown';
+  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+  const DATA_API_KEY$4 = '.data-api';
   const ESCAPE_KEY$1 = 'Escape';
   const TAB_KEY$1 = 'Tab';
   const ARROW_UP_KEY$1 = 'ArrowUp';
   const ARROW_DOWN_KEY$1 = 'ArrowDown';
-  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
-
-  const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
-  const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
-  const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
-  const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
-  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`;
-  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$2}`;
-  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$2}`;
+  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
+  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
+  const HOME_KEY$1 = 'Home';
+  const END_KEY$1 = 'End';
+  const ENTER_KEY = 'Enter';
+  const SPACE_KEY = ' ';
+  const RIGHT_MOUSE_BUTTON = 2;
+
+  // Hover intent delay (ms) - grace period before closing submenu
+  const SUBMENU_CLOSE_DELAY = 100;
+  const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`;
+  const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`;
+  const EVENT_SHOW$4 = `show${EVENT_KEY$8}`;
+  const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`;
+  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
+  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`;
+  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`;
   const CLASS_NAME_SHOW$5 = 'show';
-  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$5}`;
+  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
+  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$5}`;
   const SELECTOR_MENU = '.dropdown-menu';
+  const SELECTOR_SUBMENU = '.dropdown-submenu';
+  const SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item';
   const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+  const SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)';
 
-  // Default placement with RTL support
-  const DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start';
-  const Default$8 = {
+  // Default logical placement (uses start/end which get resolved to left/right based on RTL)
+  const DEFAULT_PLACEMENT = 'bottom-start';
+  const SUBMENU_PLACEMENT = 'end-start';
+
+  // Resolve logical placement (start/end) to physical (left/right) based on RTL
+  const resolveLogicalPlacement = placement => {
+    if (isRTL()) {
+      // RTL: start â†’ right, end â†’ left
+      return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left');
+    }
+
+    // LTR: start â†’ left, end â†’ right
+    return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right');
+  };
+
+  // Helper for barycentric coordinate calculation (point in triangle check)
+  const triangleSign = (p1, p2, p3) => (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);
+  const Default$b = {
     autoClose: true,
     boundary: 'clippingParents',
     display: 'dynamic',
     offset: [0, 2],
     floatingConfig: null,
     placement: DEFAULT_PLACEMENT,
-    reference: 'toggle'
+    reference: 'toggle',
+    // Submenu options
+    submenuTrigger: 'both',
+    // 'click', 'hover', or 'both'
+    submenuDelay: SUBMENU_CLOSE_DELAY
   };
-  const DefaultType$8 = {
+  const DefaultType$b = {
     autoClose: '(boolean|string)',
     boundary: '(string|element)',
     display: 'string',
     offset: '(array|string|function)',
     floatingConfig: '(null|object|function)',
     placement: 'string',
-    reference: '(string|element|object)'
+    reference: '(string|element|object)',
+    submenuTrigger: 'string',
+    submenuDelay: 'number'
   };
 
   /**
       this._mediaQueryListeners = [];
       this._responsivePlacements = null;
       this._parent = this._element.parentNode; // dropdown wrapper
+      this._isSubmenu = this._parent.classList.contains('dropdown-submenu');
+      this._openSubmenus = new Map(); // Map of submenu element -> cleanup function
+      this._submenuCloseTimeouts = new Map(); // Map of submenu element -> timeout ID
+      this._hoverIntentData = null; // For safe triangle calculation
+
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
       this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
 
       // Parse responsive placements on init
       this._parseResponsivePlacements();
+
+      // Set up submenu event listeners
+      this._setupSubmenuListeners();
     }
 
     // Getters
     static get Default() {
-      return Default$8;
+      return Default$b;
     }
     static get DefaultType() {
-      return DefaultType$8;
+      return DefaultType$b;
     }
     static get NAME() {
-      return NAME$9;
+      return NAME$c;
     }
 
     // Public
         }
       }
       this._element.focus();
-      this._element.setAttribute('aria-expanded', true);
+      this._element.setAttribute('aria-expanded', 'true');
       this._menu.classList.add(CLASS_NAME_SHOW$5);
       this._element.classList.add(CLASS_NAME_SHOW$5);
+      this._parent.classList.add(CLASS_NAME_SHOW$5);
       EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
     }
     hide() {
     dispose() {
       this._disposeFloating();
       this._disposeMediaQueryListeners();
+      this._closeAllSubmenus();
+      this._clearAllSubmenuTimeouts();
       super.dispose();
     }
     update() {
         return;
       }
 
+      // Close all open submenus first
+      this._closeAllSubmenus();
+
       // If this is a touch-enabled device we remove the extra
       // empty mouseover listeners we added for iOS support
       if ('ontouchstart' in document.documentElement) {
       this._disposeFloating();
       this._menu.classList.remove(CLASS_NAME_SHOW$5);
       this._element.classList.remove(CLASS_NAME_SHOW$5);
+      this._parent.classList.remove(CLASS_NAME_SHOW$5);
       this._element.setAttribute('aria-expanded', 'false');
       Manipulator.removeDataAttribute(this._menu, 'placement');
       Manipulator.removeDataAttribute(this._menu, 'display');
       config = super._getConfig(config);
       if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
         // Floating UI virtual elements require a getBoundingClientRect method
-        throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+        throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
       }
       return config;
     }
       this._floatingCleanup = dom.autoUpdate(referenceElement, this._menu, () => this._updateFloatingPosition(referenceElement));
     }
     async _updateFloatingPosition(referenceElement = null) {
-      // Check if menu exists and is still in the DOM
-      if (!this._menu || !this._menu.isConnected) {
+      if (!this._menu) {
         return;
       }
       if (!referenceElement) {
       const placement = this._getPlacement();
       const middleware = this._getFloatingMiddleware();
       const floatingConfig = this._getFloatingConfig(placement, middleware);
-      const {
-        x,
-        y,
-        placement: finalPlacement
-      } = await dom.computePosition(referenceElement, this._menu, floatingConfig);
-
-      // Menu may have been disposed during the async computePosition call
-      if (!this._menu || !this._menu.isConnected) {
-        return;
-      }
-
-      // Apply position to dropdown menu
-      Object.assign(this._menu.style, {
-        position: 'absolute',
-        left: `${x}px`,
-        top: `${y}px`,
-        margin: '0'
-      });
-
-      // Set placement attribute for CSS styling
-      Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement);
+      await this._applyFloatingPosition(referenceElement, this._menu, floatingConfig.placement, floatingConfig.middleware);
     }
     _isShown() {
       return this._menu.classList.contains(CLASS_NAME_SHOW$5);
     }
     _getPlacement() {
       // If we have responsive placements, find the appropriate one for current viewport
-      if (this._responsivePlacements) {
-        return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT);
-      }
-      return this._config.placement;
+      const placement = this._responsivePlacements ? getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) : this._config.placement;
+
+      // Resolve logical placements (start/end) to physical (left/right) based on RTL
+      return resolveLogicalPlacement(placement);
     }
     _parseResponsivePlacements() {
       this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT);
     }
     _getOffset() {
       const {
-        offset
+        offset: offsetConfig
       } = this._config;
-      if (typeof offset === 'string') {
-        return offset.split(',').map(value => Number.parseInt(value, 10));
+      if (typeof offsetConfig === 'string') {
+        return offsetConfig.split(',').map(value => Number.parseInt(value, 10));
       }
-      if (typeof offset === 'function') {
+      if (typeof offsetConfig === 'function') {
         // Floating UI passes different args, adapt the interface for offset function callbacks
         return ({
           placement,
           rects
         }) => {
-          const result = offset({
+          const result = offsetConfig({
             placement,
             reference: rects.reference,
             floating: rects.floating
           return result;
         };
       }
-      return offset;
+      return offsetConfig;
     }
     _getFloatingMiddleware() {
       const offsetValue = this._getOffset();
         this._floatingCleanup = null;
       }
     }
+
+    // Shared helper for positioning any floating element
+    async _applyFloatingPosition(reference, floating, placement, middleware) {
+      if (!floating.isConnected) {
+        return null;
+      }
+      const {
+        x,
+        y,
+        placement: finalPlacement
+      } = await dom.computePosition(reference, floating, {
+        placement,
+        middleware
+      });
+      if (!floating.isConnected) {
+        return null;
+      }
+      Object.assign(floating.style, {
+        position: 'absolute',
+        left: `${x}px`,
+        top: `${y}px`,
+        margin: '0'
+      });
+      Manipulator.setDataAttribute(floating, 'placement', finalPlacement);
+      return finalPlacement;
+    }
+
+    // -------------------------------------------------------------------------
+    // Submenu handling
+    // -------------------------------------------------------------------------
+
+    _setupSubmenuListeners() {
+      // Set up hover listeners for submenu triggers
+      if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerEnter(event);
+        });
+        EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {
+          this._onSubmenuLeave(event);
+        });
+
+        // Track mouse movement for safe triangle calculation
+        EventHandler.on(this._menu, 'mousemove', event => {
+          this._trackMousePosition(event);
+        });
+      }
+
+      // Set up click listener for submenu triggers
+      if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerClick(event);
+        });
+      }
+    }
+    _onSubmenuTriggerEnter(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Cancel any pending close timeout for this submenu
+      this._cancelSubmenuCloseTimeout(submenu);
+
+      // Close other open submenus at the same level
+      this._closeSiblingSubmenus(submenuWrapper);
+
+      // Open this submenu
+      this._openSubmenu(trigger, submenu, submenuWrapper);
+    }
+    _onSubmenuLeave(event) {
+      const submenuWrapper = event.target.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu || !this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Check if we're moving toward the submenu (safe triangle)
+      if (this._isMovingTowardSubmenu(event, submenu)) {
+        return;
+      }
+
+      // Schedule submenu close with delay
+      this._scheduleSubmenuClose(submenu, submenuWrapper);
+    }
+    _onSubmenuTriggerClick(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      event.preventDefault();
+      event.stopPropagation();
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Toggle submenu
+      if (this._openSubmenus.has(submenu)) {
+        this._closeSubmenu(submenu, submenuWrapper);
+      } else {
+        this._closeSiblingSubmenus(submenuWrapper);
+        this._openSubmenu(trigger, submenu, submenuWrapper);
+      }
+    }
+    _openSubmenu(trigger, submenu, submenuWrapper) {
+      if (this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Set ARIA attributes
+      trigger.setAttribute('aria-expanded', 'true');
+      trigger.setAttribute('aria-haspopup', 'true');
+
+      // Position and show submenu
+      submenu.classList.add(CLASS_NAME_SHOW$5);
+      submenuWrapper.classList.add(CLASS_NAME_SHOW$5);
+
+      // Set up Floating UI positioning for submenu
+      const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper);
+      this._openSubmenus.set(submenu, cleanup);
+
+      // Set up mouseenter on submenu to cancel close timeout
+      EventHandler.on(submenu, 'mouseenter', () => {
+        this._cancelSubmenuCloseTimeout(submenu);
+      });
+    }
+    _closeSubmenu(submenu, submenuWrapper) {
+      if (!this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Close any nested submenus first
+      const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, submenu);
+      for (const nested of nestedSubmenus) {
+        const nestedWrapper = nested.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(nested, nestedWrapper);
+      }
+
+      // Get the trigger
+      const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper);
+
+      // Clean up Floating UI
+      const cleanup = this._openSubmenus.get(submenu);
+      if (cleanup) {
+        cleanup();
+      }
+      this._openSubmenus.delete(submenu);
+
+      // Remove event listeners
+      EventHandler.off(submenu, 'mouseenter');
+
+      // Update ARIA and visibility
+      if (trigger) {
+        trigger.setAttribute('aria-expanded', 'false');
+      }
+      submenu.classList.remove(CLASS_NAME_SHOW$5);
+      submenuWrapper.classList.remove(CLASS_NAME_SHOW$5);
+
+      // Clear inline styles
+      submenu.style.position = '';
+      submenu.style.left = '';
+      submenu.style.top = '';
+      submenu.style.margin = '';
+    }
+    _closeAllSubmenus() {
+      for (const [submenu] of this._openSubmenus) {
+        const submenuWrapper = submenu.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(submenu, submenuWrapper);
+      }
+    }
+    _closeSiblingSubmenus(currentSubmenuWrapper) {
+      // Find all sibling submenu wrappers and close their menus
+      const parent = currentSubmenuWrapper.parentNode;
+      const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW$5}`, parent);
+      for (const siblingMenu of siblingSubmenus) {
+        const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU);
+        if (siblingWrapper !== currentSubmenuWrapper) {
+          this._closeSubmenu(siblingMenu, siblingWrapper);
+        }
+      }
+    }
+    _createSubmenuFloating(trigger, submenu, submenuWrapper) {
+      const referenceElement = submenuWrapper;
+      const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT);
+      const middleware = [dom.offset({
+        mainAxis: 0,
+        crossAxis: -4
+      }), dom.flip({
+        fallbackPlacements: [resolveLogicalPlacement('start-start'), resolveLogicalPlacement('end-end'), resolveLogicalPlacement('start-end')]
+      }), dom.shift({
+        padding: 8
+      })];
+      const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware);
+      updatePosition();
+      return dom.autoUpdate(referenceElement, submenu, updatePosition);
+    }
+    _scheduleSubmenuClose(submenu, submenuWrapper) {
+      this._cancelSubmenuCloseTimeout(submenu);
+      const timeoutId = setTimeout(() => {
+        this._closeSubmenu(submenu, submenuWrapper);
+        this._submenuCloseTimeouts.delete(submenu);
+      }, this._config.submenuDelay);
+      this._submenuCloseTimeouts.set(submenu, timeoutId);
+    }
+    _cancelSubmenuCloseTimeout(submenu) {
+      const timeoutId = this._submenuCloseTimeouts.get(submenu);
+      if (timeoutId) {
+        clearTimeout(timeoutId);
+        this._submenuCloseTimeouts.delete(submenu);
+      }
+    }
+    _clearAllSubmenuTimeouts() {
+      for (const timeoutId of this._submenuCloseTimeouts.values()) {
+        clearTimeout(timeoutId);
+      }
+      this._submenuCloseTimeouts.clear();
+    }
+
+    // -------------------------------------------------------------------------
+    // Hover intent / Safe triangle
+    // -------------------------------------------------------------------------
+
+    _trackMousePosition(event) {
+      this._hoverIntentData = {
+        x: event.clientX,
+        y: event.clientY,
+        timestamp: Date.now()
+      };
+    }
+    _isMovingTowardSubmenu(event, submenu) {
+      if (!this._hoverIntentData) {
+        return false;
+      }
+      const submenuRect = submenu.getBoundingClientRect();
+      const currentPos = {
+        x: event.clientX,
+        y: event.clientY
+      };
+      const lastPos = {
+        x: this._hoverIntentData.x,
+        y: this._hoverIntentData.y
+      };
+
+      // Create a triangle from current position to submenu edges
+      // The triangle represents the "safe zone" for diagonal movement
+      const isRtl = isRTL();
+
+      // Determine which edge of the submenu to target based on direction
+      const targetX = isRtl ? submenuRect.right : submenuRect.left;
+      const topCorner = {
+        x: targetX,
+        y: submenuRect.top
+      };
+      const bottomCorner = {
+        x: targetX,
+        y: submenuRect.bottom
+      };
+
+      // Check if cursor is moving toward the submenu
+      // by checking if the current position is within the safe triangle
+      return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner);
+    }
+    _pointInTriangle(point, v1, v2, v3) {
+      // Barycentric coordinate method to check if point is inside triangle
+      const d1 = triangleSign(point, v1, v2);
+      const d2 = triangleSign(point, v2, v3);
+      const d3 = triangleSign(point, v3, v1);
+      const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
+      const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
+      return !(hasNeg && hasPos);
+    }
+
+    // -------------------------------------------------------------------------
+    // Keyboard navigation
+    // -------------------------------------------------------------------------
+
     _selectMenuItem({
       key,
       target
     }) {
-      const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));
+      // Get items only from the current menu level (not nested submenus)
+      // If target is inside a menu, use that menu; otherwise use the main menu
+      const currentMenu = target.closest(SELECTOR_MENU) || this._menu;
+      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
       if (!items.length) {
         return;
       }
       // allow cycling to get the last item in case key equals ARROW_UP_KEY
       getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
     }
+    _handleSubmenuKeydown(event) {
+      const {
+        key,
+        target
+      } = event;
+      const isRtl = isRTL();
+
+      // Determine the "enter submenu" and "exit submenu" keys based on RTL
+      const enterKey = isRtl ? ARROW_LEFT_KEY$1 : ARROW_RIGHT_KEY$1;
+      const exitKey = isRtl ? ARROW_RIGHT_KEY$1 : ARROW_LEFT_KEY$1;
+
+      // Check if target is a submenu trigger
+      const submenuWrapper = target.closest(SELECTOR_SUBMENU);
+      const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE);
+
+      // Handle Enter/Space on submenu trigger
+      if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Right arrow (or Left in RTL) - enter submenu
+      if (key === enterKey && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Left arrow (or Right in RTL) - exit submenu
+      if (key === exitKey) {
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper) {
+          event.preventDefault();
+          event.stopPropagation();
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          this._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return true;
+        }
+      }
+
+      // Handle Home/End keys
+      if (key === HOME_KEY$1 || key === END_KEY$1) {
+        event.preventDefault();
+        event.stopPropagation();
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => isVisible(element));
+        if (items.length) {
+          const targetItem = key === HOME_KEY$1 ? items[0] : items[items.length - 1];
+          targetItem.focus();
+        }
+        return true;
+      }
+      return false;
+    }
     static clearMenus(event) {
       if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
         return;
       }
     }
     static dataApiKeydownHandler(event) {
-      // If not an UP | DOWN | ESCAPE key => not a dropdown command
-      // If input/textarea && if key is other than ESCAPE => not a dropdown command
-
+      // If not a relevant key => not a dropdown command
       const isInput = /input|textarea/i.test(event.target.tagName);
       const isEscapeEvent = event.key === ESCAPE_KEY$1;
       const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);
-      if (!isUpOrDownEvent && !isEscapeEvent) {
+      const isLeftOrRightEvent = [ARROW_LEFT_KEY$1, ARROW_RIGHT_KEY$1].includes(event.key);
+      const isHomeOrEndEvent = [HOME_KEY$1, END_KEY$1].includes(event.key);
+      const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key);
+
+      // Allow Enter/Space only on submenu triggers
+      const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE);
+      if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent && !(isEnterOrSpaceEvent && isSubmenuTrigger)) {
         return;
       }
       if (isInput && !isEscapeEvent) {
         return;
       }
-      event.preventDefault();
 
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
-      const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$4) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4, event.delegateTarget.parentNode);
+      const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$5) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5, event.delegateTarget.parentNode);
+      if (!getToggleButton) {
+        return;
+      }
       const instance = Dropdown.getOrCreateInstance(getToggleButton);
+
+      // Handle submenu navigation first
+      if ((isLeftOrRightEvent || isHomeOrEndEvent || isEnterOrSpaceEvent && isSubmenuTrigger) && instance._handleSubmenuKeydown(event)) {
+        return;
+      }
+
+      // Handle Up/Down navigation
       if (isUpOrDownEvent) {
+        event.preventDefault();
         event.stopPropagation();
         instance.show();
         instance._selectMenuItem(event);
         return;
       }
-      if (instance._isShown()) {
-        // else is escape and we check if it is shown
+
+      // Handle Escape
+      if (isEscapeEvent && instance._isShown()) {
+        event.preventDefault();
         event.stopPropagation();
+
+        // If in a submenu, close just that submenu
+        const currentMenu = event.target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          instance._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return;
+        }
+
+        // Otherwise close the whole dropdown
         instance.hide();
         getToggleButton.focus();
       }
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
+  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
   EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
   EventHandler.on(document, EVENT_CLICK_DATA_API$2, Dropdown.clearMenus);
   EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
-  EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$4, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, function (event) {
     event.preventDefault();
     Dropdown.getOrCreateInstance(this).toggle();
   });
    * Constants
    */
 
-  const NAME$8 = 'backdrop';
+  const NAME$b = 'backdrop';
   const CLASS_NAME_FADE$3 = 'fade';
   const CLASS_NAME_SHOW$4 = 'show';
-  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$8}`;
-  const Default$7 = {
+  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+  const Default$a = {
     className: 'modal-backdrop',
     clickCallback: null,
     isAnimated: false,
     // if false, we use the backdrop helper without adding any element to the dom
     rootElement: 'body' // give the choice to place backdrop under different elements
   };
-  const DefaultType$7 = {
+  const DefaultType$a = {
     className: 'string',
     clickCallback: '(function|null)',
     isAnimated: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$7;
+      return Default$a;
     }
     static get DefaultType() {
-      return DefaultType$7;
+      return DefaultType$a;
     }
     static get NAME() {
-      return NAME$8;
+      return NAME$b;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$7 = 'focustrap';
-  const DATA_KEY$4 = 'bs.focustrap';
-  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
-  const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$4}`;
-  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$4}`;
+  const NAME$a = 'focustrap';
+  const DATA_KEY$7 = 'bs.focustrap';
+  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+  const EVENT_FOCUSIN$3 = `focusin${EVENT_KEY$7}`;
+  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
   const TAB_KEY = 'Tab';
   const TAB_NAV_FORWARD = 'forward';
   const TAB_NAV_BACKWARD = 'backward';
-  const Default$6 = {
+  const Default$9 = {
     autofocus: true,
     trapElement: null // The element to trap focus inside of
   };
-  const DefaultType$6 = {
+  const DefaultType$9 = {
     autofocus: 'boolean',
     trapElement: 'element'
   };
 
     // Getters
     static get Default() {
-      return Default$6;
+      return Default$9;
     }
     static get DefaultType() {
-      return DefaultType$6;
+      return DefaultType$9;
     }
     static get NAME() {
-      return NAME$7;
+      return NAME$a;
     }
 
     // Public
       if (this._config.autofocus) {
         this._config.trapElement.focus();
       }
-      EventHandler.off(document, EVENT_KEY$4); // guard against infinite focus loop
+      EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
       EventHandler.on(document, EVENT_FOCUSIN$3, event => this._handleFocusin(event));
       EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
       this._isActive = true;
         return;
       }
       this._isActive = false;
-      EventHandler.off(document, EVENT_KEY$4);
+      EventHandler.off(document, EVENT_KEY$7);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$6 = 'offcanvas';
-  const DATA_KEY$3 = 'bs.offcanvas';
-  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
-  const DATA_API_KEY$1 = '.data-api';
-  const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
+  const NAME$9 = 'offcanvas';
+  const DATA_KEY$6 = 'bs.offcanvas';
+  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+  const DATA_API_KEY$3 = '.data-api';
+  const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$6}${DATA_API_KEY$3}`;
   const ESCAPE_KEY = 'Escape';
   const CLASS_NAME_SHOW$3 = 'show';
   const CLASS_NAME_SHOWING$1 = 'showing';
   const CLASS_NAME_HIDING = 'hiding';
   const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
   const OPEN_SELECTOR = '.offcanvas.show';
-  const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
-  const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
-  const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
-  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
-  const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
-  const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
-  const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
-  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
-  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="offcanvas"]';
-  const Default$5 = {
+  const EVENT_SHOW$3 = `show${EVENT_KEY$6}`;
+  const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`;
+  const EVENT_HIDE$3 = `hide${EVENT_KEY$6}`;
+  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$6}`;
+  const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`;
+  const EVENT_RESIZE = `resize${EVENT_KEY$6}`;
+  const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
+  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="offcanvas"]';
+  const Default$8 = {
     backdrop: true,
     keyboard: true,
     scroll: false
   };
-  const DefaultType$5 = {
+  const DefaultType$8 = {
     backdrop: '(boolean|string)',
     keyboard: 'boolean',
     scroll: 'boolean'
 
     // Getters
     static get Default() {
-      return Default$5;
+      return Default$8;
     }
     static get DefaultType() {
-      return DefaultType$5;
+      return DefaultType$8;
     }
     static get NAME() {
-      return NAME$6;
+      return NAME$9;
     }
 
     // Public
       };
       this._queueCallback(completeCallBack, this._element, true);
     }
-    hide() {
-      if (!this._isShown) {
-        return;
+    hide() {
+      if (!this._isShown) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._focustrap.deactivate();
+      this._element.blur();
+      this._isShown = false;
+      this._element.classList.add(CLASS_NAME_HIDING);
+      this._backdrop.hide();
+      const completeCallback = () => {
+        this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
+        this._element.removeAttribute('aria-modal');
+        this._element.removeAttribute('role');
+        if (!this._config.scroll) {
+          new ScrollBarHelper().reset();
+        }
+        EventHandler.trigger(this._element, EVENT_HIDDEN$3);
+      };
+      this._queueCallback(completeCallback, this._element, true);
+    }
+    dispose() {
+      this._backdrop.dispose();
+      this._focustrap.deactivate();
+      super.dispose();
+    }
+
+    // Private
+    _initializeBackDrop() {
+      const clickCallback = () => {
+        if (this._config.backdrop === 'static') {
+          EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+          return;
+        }
+        this.hide();
+      };
+
+      // 'static' option will be translated to true, and booleans will keep their value
+      const isVisible = Boolean(this._config.backdrop);
+      return new Backdrop({
+        className: CLASS_NAME_BACKDROP,
+        isVisible,
+        isAnimated: true,
+        rootElement: this._element.parentNode,
+        clickCallback: isVisible ? clickCallback : null
+      });
+    }
+    _initializeFocusTrap() {
+      return new FocusTrap({
+        trapElement: this._element
+      });
+    }
+    _addEventListeners() {
+      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
+        if (event.key !== ESCAPE_KEY) {
+          return;
+        }
+        if (this._config.keyboard) {
+          this.hide();
+          return;
+        }
+        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+      });
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$4, function (event) {
+    const target = SelectorEngine.getElementFromSelector(this);
+    if (['A', 'AREA'].includes(this.tagName)) {
+      event.preventDefault();
+    }
+    if (isDisabled(this)) {
+      return;
+    }
+    EventHandler.one(target, EVENT_HIDDEN$3, () => {
+      // focus on trigger when it is closed
+      if (isVisible(this)) {
+        this.focus();
+      }
+    });
+
+    // avoid conflict when clicking a toggler of an offcanvas, while another is open
+    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
+    if (alreadyOpen && alreadyOpen !== target) {
+      Offcanvas.getInstance(alreadyOpen).hide();
+    }
+    const data = Offcanvas.getOrCreateInstance(target);
+    data.toggle(this);
+  });
+  EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
+    for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
+      Offcanvas.getOrCreateInstance(selector).show();
+    }
+  });
+  EventHandler.on(window, EVENT_RESIZE, () => {
+    for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
+      if (getComputedStyle(element).position !== 'fixed') {
+        Offcanvas.getOrCreateInstance(element).hide();
+      }
+    }
+  });
+  enableDismissTrigger(Offcanvas);
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap strength.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$8 = 'strength';
+  const DATA_KEY$5 = 'bs.strength';
+  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
+  const DATA_API_KEY$2 = '.data-api';
+  const EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY$5}`;
+  const SELECTOR_DATA_STRENGTH = '[data-bs-strength]';
+  const STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong'];
+  const Default$7 = {
+    input: null,
+    // Selector or element for password input
+    minLength: 8,
+    messages: {
+      weak: 'Weak',
+      fair: 'Fair',
+      good: 'Good',
+      strong: 'Strong'
+    },
+    weights: {
+      minLength: 1,
+      extraLength: 1,
+      lowercase: 1,
+      uppercase: 1,
+      numbers: 1,
+      special: 1,
+      multipleSpecial: 1,
+      longPassword: 1
+    },
+    thresholds: [2, 4, 6],
+    // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6
+    scorer: null // Custom scoring function (password) => number
+  };
+  const DefaultType$7 = {
+    input: '(string|element|null)',
+    minLength: 'number',
+    messages: 'object',
+    weights: 'object',
+    thresholds: 'array',
+    scorer: '(function|null)'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Strength extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._input = this._getInput();
+      this._segments = SelectorEngine.find('.strength-segment', this._element);
+      this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement);
+      this._currentStrength = null;
+      if (this._input) {
+        this._addEventListeners();
+        // Check initial value
+        this._evaluate();
+      }
+    }
+
+    // Getters
+    static get Default() {
+      return Default$7;
+    }
+    static get DefaultType() {
+      return DefaultType$7;
+    }
+    static get NAME() {
+      return NAME$8;
+    }
+
+    // Public
+    getStrength() {
+      return this._currentStrength;
+    }
+    evaluate() {
+      this._evaluate();
+    }
+
+    // Private
+    _getInput() {
+      if (this._config.input) {
+        return typeof this._config.input === 'string' ? SelectorEngine.findOne(this._config.input) : this._config.input;
+      }
+
+      // Look for preceding password input
+      const parent = this._element.parentElement;
+      return SelectorEngine.findOne('input[type="password"]', parent);
+    }
+    _addEventListeners() {
+      EventHandler.on(this._input, 'input', () => this._evaluate());
+      EventHandler.on(this._input, 'change', () => this._evaluate());
+    }
+    _evaluate() {
+      const password = this._input.value;
+      const score = this._calculateScore(password);
+      const strength = this._scoreToStrength(score);
+      if (strength !== this._currentStrength) {
+        this._currentStrength = strength;
+        this._updateUI(strength, score);
+        EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {
+          strength,
+          score,
+          password: password.length > 0 ? '***' : '' // Don't expose actual password
+        });
+      }
+    }
+    _calculateScore(password) {
+      if (!password) {
+        return 0;
+      }
+
+      // Use custom scorer if provided
+      if (typeof this._config.scorer === 'function') {
+        return this._config.scorer(password);
+      }
+      const {
+        weights
+      } = this._config;
+      let score = 0;
+
+      // Length scoring
+      if (password.length >= this._config.minLength) {
+        score += weights.minLength;
+      }
+      if (password.length >= this._config.minLength + 4) {
+        score += weights.extraLength;
+      }
+
+      // Character variety
+      if (/[a-z]/.test(password)) {
+        score += weights.lowercase;
+      }
+      if (/[A-Z]/.test(password)) {
+        score += weights.uppercase;
+      }
+      if (/\d/.test(password)) {
+        score += weights.numbers;
+      }
+
+      // Special characters
+      if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.special;
+      }
+
+      // Extra points for more special chars or length
+      if (/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.multipleSpecial;
+      }
+      if (password.length >= 16) {
+        score += weights.longPassword;
+      }
+      return score;
+    }
+    _scoreToStrength(score) {
+      if (score === 0) {
+        return null;
+      }
+      const [weak, fair, good] = this._config.thresholds;
+      if (score <= weak) {
+        return 'weak';
+      }
+      if (score <= fair) {
+        return 'fair';
+      }
+      if (score <= good) {
+        return 'good';
+      }
+      return 'strong';
+    }
+    _updateUI(strength) {
+      // Update data attribute on element
+      if (strength) {
+        this._element.dataset.bsStrength = strength;
+      } else {
+        delete this._element.dataset.bsStrength;
+      }
+
+      // Update segmented meter
+      const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1;
+      for (const [index, segment] of this._segments.entries()) {
+        if (index <= strengthIndex) {
+          segment.classList.add('active');
+        } else {
+          segment.classList.remove('active');
+        }
+      }
+
+      // Update text feedback
+      if (this._textElement) {
+        if (strength && this._config.messages[strength]) {
+          this._textElement.textContent = this._config.messages[strength];
+          this._textElement.dataset.bsStrength = strength;
+
+          // Also set the color via inheriting from parent or using CSS variable
+          const colorMap = {
+            weak: 'danger',
+            fair: 'warning',
+            good: 'info',
+            strong: 'success'
+          };
+          this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`);
+        } else {
+          this._textElement.textContent = '';
+          delete this._textElement.dataset.bsStrength;
+        }
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$5}${DATA_API_KEY$2}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {
+      Strength.getOrCreateInstance(element);
+    }
+  });
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap otp-input.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$7 = 'otpInput';
+  const DATA_KEY$4 = 'bs.otp-input';
+  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
+  const DATA_API_KEY$1 = '.data-api';
+  const EVENT_COMPLETE = `complete${EVENT_KEY$4}`;
+  const EVENT_INPUT = `input${EVENT_KEY$4}`;
+  const SELECTOR_DATA_OTP = '[data-bs-otp]';
+  const SELECTOR_INPUT = 'input';
+  const Default$6 = {
+    length: 6,
+    mask: false
+  };
+  const DefaultType$6 = {
+    length: 'number',
+    mask: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class OtpInput extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element);
+      this._setupInputs();
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$6;
+    }
+    static get DefaultType() {
+      return DefaultType$6;
+    }
+    static get NAME() {
+      return NAME$7;
+    }
+
+    // Public
+    getValue() {
+      return this._inputs.map(input => input.value).join('');
+    }
+    setValue(value) {
+      const chars = String(value).split('');
+      for (const [index, input] of this._inputs.entries()) {
+        input.value = chars[index] || '';
       }
-      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
-      if (hideEvent.defaultPrevented) {
-        return;
+      this._checkComplete();
+    }
+    clear() {
+      for (const input of this._inputs) {
+        input.value = '';
       }
-      this._focustrap.deactivate();
-      this._element.blur();
-      this._isShown = false;
-      this._element.classList.add(CLASS_NAME_HIDING);
-      this._backdrop.hide();
-      const completeCallback = () => {
-        this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
-        this._element.removeAttribute('aria-modal');
-        this._element.removeAttribute('role');
-        if (!this._config.scroll) {
-          new ScrollBarHelper().reset();
-        }
-        EventHandler.trigger(this._element, EVENT_HIDDEN$3);
-      };
-      this._queueCallback(completeCallback, this._element, true);
+      this._inputs[0]?.focus();
     }
-    dispose() {
-      this._backdrop.dispose();
-      this._focustrap.deactivate();
-      super.dispose();
+    focus() {
+      // Focus first empty input, or last input if all filled
+      const emptyInput = this._inputs.find(input => !input.value);
+      if (emptyInput) {
+        emptyInput.focus();
+      } else {
+        this._inputs.at(-1)?.focus();
+      }
     }
 
     // Private
-    _initializeBackDrop() {
-      const clickCallback = () => {
-        if (this._config.backdrop === 'static') {
-          EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
-          return;
+    _setupInputs() {
+      for (const input of this._inputs) {
+        // Set attributes for proper OTP handling
+        input.setAttribute('maxlength', '1');
+        input.setAttribute('inputmode', 'numeric');
+        input.setAttribute('pattern', '\\d*');
+
+        // First input gets autocomplete for browser OTP autofill
+        if (input === this._inputs[0]) {
+          input.setAttribute('autocomplete', 'one-time-code');
+        } else {
+          input.setAttribute('autocomplete', 'off');
         }
-        this.hide();
-      };
 
-      // 'static' option will be translated to true, and booleans will keep their value
-      const isVisible = Boolean(this._config.backdrop);
-      return new Backdrop({
-        className: CLASS_NAME_BACKDROP,
-        isVisible,
-        isAnimated: true,
-        rootElement: this._element.parentNode,
-        clickCallback: isVisible ? clickCallback : null
-      });
-    }
-    _initializeFocusTrap() {
-      return new FocusTrap({
-        trapElement: this._element
-      });
+        // Mask input if configured
+        if (this._config.mask) {
+          input.setAttribute('type', 'password');
+        }
+      }
     }
     _addEventListeners() {
-      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
-        if (event.key !== ESCAPE_KEY) {
-          return;
-        }
-        if (this._config.keyboard) {
-          this.hide();
-          return;
+      for (const [index, input] of this._inputs.entries()) {
+        EventHandler.on(input, 'input', event => this._handleInput(event, index));
+        EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index));
+        EventHandler.on(input, 'paste', event => this._handlePaste(event));
+        EventHandler.on(input, 'focus', event => this._handleFocus(event));
+      }
+    }
+    _handleInput(event, index) {
+      const input = event.target;
+
+      // Only allow digits
+      if (!/^\d*$/.test(input.value)) {
+        input.value = input.value.replace(/\D/g, '');
+      }
+      const {
+        value
+      } = input;
+
+      // Handle multi-character input (some browsers/autofill)
+      if (value.length > 1) {
+        // Distribute characters across inputs
+        const chars = value.split('');
+        input.value = chars[0] || '';
+        for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {
+          this._inputs[index + i].value = chars[i];
         }
-        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+
+        // Focus appropriate input
+        const nextIndex = Math.min(index + chars.length, this._inputs.length - 1);
+        this._inputs[nextIndex].focus();
+      } else if (value && index < this._inputs.length - 1) {
+        // Auto-advance to next input
+        this._inputs[index + 1].focus();
+      }
+      EventHandler.trigger(this._element, EVENT_INPUT, {
+        value: this.getValue(),
+        index
       });
+      this._checkComplete();
+    }
+    _handleKeydown(event, index) {
+      const {
+        key
+      } = event;
+      switch (key) {
+        case 'Backspace':
+          {
+            if (!this._inputs[index].value && index > 0) {
+              // Move to previous input and clear it
+              event.preventDefault();
+              this._inputs[index - 1].value = '';
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'Delete':
+          {
+            // Clear current and shift remaining values left
+            event.preventDefault();
+            for (let i = index; i < this._inputs.length - 1; i++) {
+              this._inputs[i].value = this._inputs[i + 1].value;
+            }
+            this._inputs.at(-1).value = '';
+            break;
+          }
+        case 'ArrowLeft':
+          {
+            if (index > 0) {
+              event.preventDefault();
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'ArrowRight':
+          {
+            if (index < this._inputs.length - 1) {
+              event.preventDefault();
+              this._inputs[index + 1].focus();
+            }
+            break;
+          }
+
+        // No default
+      }
+    }
+    _handlePaste(event) {
+      event.preventDefault();
+      const pastedData = (event.clipboardData || window.clipboardData).getData('text');
+      const digits = pastedData.replace(/\D/g, '').slice(0, this._inputs.length);
+      if (digits) {
+        this.setValue(digits);
+
+        // Focus last filled input or last input
+        const lastIndex = Math.min(digits.length, this._inputs.length) - 1;
+        this._inputs[lastIndex].focus();
+      }
+    }
+    _handleFocus(event) {
+      // Select the content on focus for easy replacement
+      event.target.select();
+    }
+    _checkComplete() {
+      const value = this.getValue();
+      const isComplete = value.length === this._inputs.length && this._inputs.every(input => input.value !== '');
+      if (isComplete) {
+        EventHandler.trigger(this._element, EVENT_COMPLETE, {
+          value
+        });
+      }
     }
   }
 
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$3, function (event) {
-    const target = SelectorEngine.getElementFromSelector(this);
-    if (['A', 'AREA'].includes(this.tagName)) {
-      event.preventDefault();
-    }
-    if (isDisabled(this)) {
-      return;
-    }
-    EventHandler.one(target, EVENT_HIDDEN$3, () => {
-      // focus on trigger when it is closed
-      if (isVisible(this)) {
-        this.focus();
-      }
-    });
-
-    // avoid conflict when clicking a toggler of an offcanvas, while another is open
-    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
-    if (alreadyOpen && alreadyOpen !== target) {
-      Offcanvas.getInstance(alreadyOpen).hide();
-    }
-    const data = Offcanvas.getOrCreateInstance(target);
-    data.toggle(this);
-  });
-  EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
-    for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
-      Offcanvas.getOrCreateInstance(selector).show();
-    }
-  });
-  EventHandler.on(window, EVENT_RESIZE, () => {
-    for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
-      if (getComputedStyle(element).position !== 'fixed') {
-        Offcanvas.getOrCreateInstance(element).hide();
-      }
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$4}${DATA_API_KEY$1}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {
+      OtpInput.getOrCreateInstance(element);
     }
   });
-  enableDismissTrigger(Offcanvas);
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$5 = 'TemplateFactory';
-  const Default$4 = {
+  const NAME$6 = 'TemplateFactory';
+  const Default$5 = {
     allowList: DefaultAllowlist,
     content: {},
     // { selector : text ,  selector2 : text2 , }
     sanitizeFn: null,
     template: '<div></div>'
   };
-  const DefaultType$4 = {
+  const DefaultType$5 = {
     allowList: 'object',
     content: 'object',
     extraClass: '(string|function)',
 
     // Getters
     static get Default() {
-      return Default$4;
+      return Default$5;
     }
     static get DefaultType() {
-      return DefaultType$4;
+      return DefaultType$5;
     }
     static get NAME() {
-      return NAME$5;
+      return NAME$6;
     }
 
     // Public
    * Constants
    */
 
-  const NAME$4 = 'tooltip';
+  const NAME$5 = 'tooltip';
   const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
   const CLASS_NAME_FADE$2 = 'fade';
   const CLASS_NAME_MODAL = 'modal';
   const CLASS_NAME_SHOW$2 = 'show';
   const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
   const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;
-  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="tooltip"]';
+  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="tooltip"]';
   const EVENT_MODAL_HIDE = 'hide.bs.modal';
   const TRIGGER_HOVER = 'hover';
   const TRIGGER_FOCUS = 'focus';
   const EVENT_SHOW$2 = 'show';
   const EVENT_SHOWN$2 = 'shown';
   const EVENT_INSERTED = 'inserted';
-  const EVENT_CLICK$2 = 'click';
+  const EVENT_CLICK$3 = 'click';
   const EVENT_FOCUSIN$2 = 'focusin';
   const EVENT_FOCUSOUT$1 = 'focusout';
   const EVENT_MOUSEENTER$1 = 'mouseenter';
     BOTTOM: 'bottom',
     LEFT: isRTL() ? 'right' : 'left'
   };
-  const Default$3 = {
+  const Default$4 = {
     allowList: DefaultAllowlist,
     animation: true,
     boundary: 'clippingParents',
     title: '',
     trigger: 'hover focus'
   };
-  const DefaultType$3 = {
+  const DefaultType$4 = {
     allowList: 'object',
     animation: 'boolean',
     boundary: '(string|element)',
 
     // Getters
     static get Default() {
-      return Default$3;
+      return Default$4;
     }
     static get DefaultType() {
-      return DefaultType$3;
+      return DefaultType$4;
     }
     static get NAME() {
-      return NAME$4;
+      return NAME$5;
     }
 
     // Public
       const triggers = this._config.trigger.split(' ');
       for (const trigger of triggers) {
         if (trigger === 'click') {
-          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$2), this._config.selector, event => {
+          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$3), this._config.selector, event => {
             const context = this._initializeOnDelegatedTarget(event);
             context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]);
             context.toggle();
    */
 
   const initTooltip = event => {
-    const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
+    const target = event.target.closest(SELECTOR_DATA_TOGGLE$3);
     if (!target) {
       return;
     }
       tooltip._enter();
     }
   };
-  EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$2, initTooltip);
-  EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$2, initTooltip);
+  EventHandler.on(document, EVENT_FOCUSIN$2, SELECTOR_DATA_TOGGLE$3, initTooltip);
+  EventHandler.on(document, EVENT_MOUSEENTER$1, SELECTOR_DATA_TOGGLE$3, initTooltip);
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$3 = 'popover';
+  const NAME$4 = 'popover';
   const SELECTOR_TITLE = '.popover-header';
   const SELECTOR_CONTENT = '.popover-body';
-  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="popover"]';
-  const EVENT_CLICK$1 = 'click';
+  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="popover"]';
+  const EVENT_CLICK$2 = 'click';
   const EVENT_FOCUSIN$1 = 'focusin';
   const EVENT_MOUSEENTER = 'mouseenter';
-  const Default$2 = {
+  const Default$3 = {
     ...Tooltip.Default,
     content: '',
     offset: [0, 8],
     template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
     trigger: 'click'
   };
-  const DefaultType$2 = {
+  const DefaultType$3 = {
     ...Tooltip.DefaultType,
     content: '(null|string|element|function)'
   };
   class Popover extends Tooltip {
     // Getters
     static get Default() {
-      return Default$2;
+      return Default$3;
     }
     static get DefaultType() {
-      return DefaultType$2;
+      return DefaultType$3;
     }
     static get NAME() {
-      return NAME$3;
+      return NAME$4;
     }
 
     // Overrides
    */
 
   const initPopover = event => {
-    const target = event.target.closest(SELECTOR_DATA_TOGGLE$1);
+    const target = event.target.closest(SELECTOR_DATA_TOGGLE$2);
     if (!target) {
       return;
     }
   };
 
   // Support click (default), hover, and focus triggers
-  EventHandler.on(document, EVENT_CLICK$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-  EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$1, initPopover);
-  EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$1, initPopover);
+  EventHandler.on(document, EVENT_CLICK$2, SELECTOR_DATA_TOGGLE$2, initPopover);
+  EventHandler.on(document, EVENT_FOCUSIN$1, SELECTOR_DATA_TOGGLE$2, initPopover);
+  EventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE$2, initPopover);
 
   /**
    * --------------------------------------------------------------------------
    * Constants
    */
 
-  const NAME$2 = 'scrollspy';
-  const DATA_KEY$2 = 'bs.scrollspy';
-  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+  const NAME$3 = 'scrollspy';
+  const DATA_KEY$3 = 'bs.scrollspy';
+  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
   const DATA_API_KEY = '.data-api';
-  const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
-  const EVENT_CLICK = `click${EVENT_KEY$2}`;
-  const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
+  const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
+  const EVENT_CLICK$1 = `click${EVENT_KEY$3}`;
+  const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$3}${DATA_API_KEY}`;
   const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
   const CLASS_NAME_ACTIVE$1 = 'active';
   const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
   const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
   const SELECTOR_DROPDOWN = '.dropdown';
   const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
-  const Default$1 = {
+  const Default$2 = {
     offset: null,
     // TODO: v6 @deprecated, keep it for backwards compatibility reasons
     rootMargin: '0px 0px -25%',
     target: null,
     threshold: [0.1, 0.5, 1]
   };
-  const DefaultType$1 = {
+  const DefaultType$2 = {
     offset: '(number|null)',
     // TODO v6 @deprecated, keep it for backwards compatibility reasons
     rootMargin: 'string',
 
     // Getters
     static get Default() {
-      return Default$1;
+      return Default$2;
     }
     static get DefaultType() {
-      return DefaultType$1;
+      return DefaultType$2;
     }
     static get NAME() {
-      return NAME$2;
+      return NAME$3;
     }
 
     // Public
       }
 
       // unregister any previous listeners
-      EventHandler.off(this._config.target, EVENT_CLICK);
-      EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
+      EventHandler.off(this._config.target, EVENT_CLICK$1);
+      EventHandler.on(this._config.target, EVENT_CLICK$1, SELECTOR_TARGET_LINKS, event => {
         const observableSection = this._observableSections.get(event.target.hash);
         if (observableSection) {
           event.preventDefault();
    * Constants
    */
 
-  const NAME$1 = 'tab';
-  const DATA_KEY$1 = 'bs.tab';
-  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
-  const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;
-  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;
-  const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;
-  const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;
-  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;
-  const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;
-  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;
+  const NAME$2 = 'tab';
+  const DATA_KEY$2 = 'bs.tab';
+  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
+  const EVENT_HIDE$1 = `hide${EVENT_KEY$2}`;
+  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$2}`;
+  const EVENT_SHOW$1 = `show${EVENT_KEY$2}`;
+  const EVENT_SHOWN$1 = `shown${EVENT_KEY$2}`;
+  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$2}`;
+  const EVENT_KEYDOWN = `keydown${EVENT_KEY$2}`;
+  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$2}`;
   const ARROW_LEFT_KEY = 'ArrowLeft';
   const ARROW_RIGHT_KEY = 'ArrowRight';
   const ARROW_UP_KEY = 'ArrowUp';
   const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
   const SELECTOR_OUTER = '.nav-item, .list-group-item';
   const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
-  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
-  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
+  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
+  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`;
   const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
 
   /**
 
     // Getters
     static get NAME() {
-      return NAME$1;
+      return NAME$2;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE$1, function (event) {
     if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
     }
    * Constants
    */
 
-  const NAME = 'toast';
-  const DATA_KEY = 'bs.toast';
-  const EVENT_KEY = `.${DATA_KEY}`;
-  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
-  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
-  const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
-  const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
-  const EVENT_HIDE = `hide${EVENT_KEY}`;
-  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
-  const EVENT_SHOW = `show${EVENT_KEY}`;
-  const EVENT_SHOWN = `shown${EVENT_KEY}`;
+  const NAME$1 = 'toast';
+  const DATA_KEY$1 = 'bs.toast';
+  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
+  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY$1}`;
+  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY$1}`;
+  const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`;
+  const EVENT_FOCUSOUT = `focusout${EVENT_KEY$1}`;
+  const EVENT_HIDE = `hide${EVENT_KEY$1}`;
+  const EVENT_HIDDEN = `hidden${EVENT_KEY$1}`;
+  const EVENT_SHOW = `show${EVENT_KEY$1}`;
+  const EVENT_SHOWN = `shown${EVENT_KEY$1}`;
   const CLASS_NAME_FADE = 'fade';
   const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility
   const CLASS_NAME_SHOW = 'show';
   const CLASS_NAME_SHOWING = 'showing';
-  const DefaultType = {
+  const DefaultType$1 = {
     animation: 'boolean',
     autohide: 'boolean',
     delay: 'number'
   };
-  const Default = {
+  const Default$1 = {
     animation: true,
     autohide: true,
     delay: 5000
 
     // Getters
     static get Default() {
-      return Default;
+      return Default$1;
     }
     static get DefaultType() {
-      return DefaultType;
+      return DefaultType$1;
     }
     static get NAME() {
-      return NAME;
+      return NAME$1;
     }
 
     // Public
 
   enableDismissTrigger(Toast);
 
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap toggler.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'toggler';
+  const DATA_KEY = 'bs.toggler';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const EVENT_TOGGLE = `toggle${EVENT_KEY}`;
+  const EVENT_TOGGLED = `toggled${EVENT_KEY}`;
+  const EVENT_CLICK = 'click';
+  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="toggler"]';
+  const DefaultType = {
+    attribute: 'string',
+    value: '(string|number|boolean)'
+  };
+  const Default = {
+    attribute: 'class',
+    value: null
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Toggler extends BaseComponent {
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    toggle() {
+      const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE);
+      if (toggleEvent.defaultPrevented) {
+        return;
+      }
+      this._execute();
+      EventHandler.trigger(this._element, EVENT_TOGGLED);
+    }
+
+    // Private
+    _execute() {
+      const {
+        attribute,
+        value
+      } = this._config;
+      if (attribute === 'id') {
+        return; // You have to be kidding
+      }
+      if (attribute === 'class') {
+        this._element.classList.toggle(value);
+        return;
+      }
+
+      // Compare as strings since getAttribute() always returns a string
+      if (this._element.getAttribute(attribute) === String(value)) {
+        this._element.removeAttribute(attribute);
+        return;
+      }
+      this._element.setAttribute(attribute, value);
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
+
   /**
    * --------------------------------------------------------------------------
    * Bootstrap index.umd.js
     Button,
     Carousel,
     Collapse,
+    Datepicker,
     Dialog,
     Dropdown,
     Offcanvas,
+    Strength,
+    OtpInput,
     Popover,
     ScrollSpy,
     Tab,
     Toast,
+    Toggler,
     Tooltip
   };
 
index 4370b04e41210589acbcc65ab4586b5080dbb259..ade5d1055f260fdb6c5699a64904bbf28c3aa5a0 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","data","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showEvent","showModal","body","hideEvent","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","autoClose","boundary","display","offset","floatingConfig","reference","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","referenceElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","assign","position","left","top","margin","_setupMediaQueryListeners","_getOffset","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","right","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
index d417ebe3f5cb89ddbb3133fa551c961cf1082f7e..6bbf559bf55019465bd1dde16d9f604f8a1cbbd3 100644 (file)
@@ -1,7 +1,7 @@
 /*!
   * Bootstrap v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["@floating-ui/dom"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.FloatingUIDOM)}(this,function(t){"use strict";const e=new Map,i={set(t,i,s){e.has(t)||e.set(t,new Map);const n=e.get(t);n.has(i)||0===n.size?n.set(i,s):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,i)=>e.has(t)&&e.get(t).get(i)||null,remove(t,i){if(!e.has(t))return;const s=e.get(t);s.delete(i),0===s.size&&e.delete(t)}},s=/[^.]*(?=\..*)\.|.*/,n=/\..*/,o=/::\d+$/,r={};let a=1;const l={mouseenter:"mouseover",mouseleave:"mouseout"},c=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function h(t,e){return e&&`${e}::${a++}`||t.uidEvent||a++}function u(t){const e=h(t);return t.uidEvent=e,r[e]=r[e]||{},r[e]}function d(t,e,i=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===i)}function g(t,e,i){const s="string"==typeof e,o=s?i:e||i;let r=(a=(a=t).replace(n,""),l[a]||a);var a;return c.has(r)||(r=t),[s,o,r]}function _(t,e,i,n,o){if("string"!=typeof e||!t)return;let[r,a,c]=g(e,i,n);if(e in l){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};a=t(a)}const _=u(t),m=_[c]||(_[c]={}),f=d(m,a,r?i:null);if(f)return void(f.oneOff=f.oneOff&&o);const v=h(a,e.replace(s,"")),y=r?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return b(n,{delegateTarget:r}),s.oneOff&&p.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,a):function(t,e){return function i(s){return b(s,{delegateTarget:t}),i.oneOff&&p.off(t,s.type,e),e.apply(t,[s])}}(t,a);y.delegationSelector=r?i:null,y.callable=a,y.oneOff=o,y.uidEvent=v,m[v]=y,t.addEventListener(c,y,r)}function m(t,e,i,s,n){const o=d(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function f(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&m(t,e,i,r.callable,r.delegationSelector)}const p={on(t,e,i,s){_(t,e,i,s,!1)},one(t,e,i,s){_(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,r,a]=g(e,i,s),l=a!==e,c=u(t),h=c[a]||{},d=e.startsWith(".");if(void 0===r){if(d)for(const i of Object.keys(c))f(t,c,i,e.slice(1));for(const[i,s]of Object.entries(h)){const n=i.replace(o,"");l&&!e.includes(n)||m(t,c,a,s.callable,s.delegationSelector)}}else{if(!Object.keys(h).length)return;m(t,c,a,r,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=b(new Event(e,{bubbles:!0,cancelable:!0}),i);return t.dispatchEvent(s),s}};function b(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch{Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function v(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch{return t}}function y(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const w={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${y(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${y(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=v(t.dataset[s])}return e},getDataAttribute:(t,e)=>v(t.getAttribute(`data-bs-${y(e)}`))},A="transitionend",C=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),E=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),T=t=>{t.dispatchEvent(new Event(A))},k=t=>!(!t||"object"!=typeof t)&&void 0!==t.nodeType,L=t=>k(t)?t:"string"==typeof t&&t.length>0?document.querySelector(C(t)):null,$=t=>{if(!k(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},S=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),D=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?D(t.parentNode):null},O=()=>{},x=t=>{t.offsetHeight},P=()=>"rtl"===document.documentElement.dir,I=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,N=(t,e,i=!0)=>{if(!i)return void I(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const o=({target:i})=>{i===e&&(n=!0,e.removeEventListener(A,o),I(t))};e.addEventListener(A,o),setTimeout(()=>{n||T(e)},s)},M=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])};class F{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=k(e)?w.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...k(e)?w.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,s]of Object.entries(e)){const e=t[i],n=k(e)?"element":E(e);if(!new RegExp(s).test(n))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${n}" but expected type "${s}".`)}}}class j extends F{constructor(t,e){super(),(t=L(t))&&(this._element=t,this._config=this._getConfig(e),i.set(this._element,this.constructor.DATA_KEY,this))}dispose(){i.remove(this._element,this.constructor.DATA_KEY),p.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){N(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return i.get(L(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const H=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map(t=>C(t)).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!S(t)&&$(t))},getSelectorFromElement(t){const e=H(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=H(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=H(t);return e?z.find(e):[]}},q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;p.on(document,i,`[data-bs-dismiss="${s}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),S(this))return;const n=z.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()})},R=".bs.alert",W=`close${R}`,B=`closed${R}`;class K extends j{static get NAME(){return"alert"}close(){if(p.trigger(this._element,W).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),p.trigger(this._element,B),this.dispose()}}q(K,"close");const Q='[data-bs-toggle="button"]';class U extends j{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}p.on(document,"click.bs.button.data-api",Q,t=>{t.preventDefault();const e=t.target.closest(Q);U.getOrCreateInstance(e).toggle()});const V=".bs.swipe",X=`touchstart${V}`,Y=`touchmove${V}`,G=`touchend${V}`,J=`pointerdown${V}`,Z=`pointerup${V}`,tt={endCallback:null,leftCallback:null,rightCallback:null},et={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class it extends F{constructor(t,e){super(),this._element=t,t&&it.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return tt}static get DefaultType(){return et}static get NAME(){return"swipe"}dispose(){p.off(this._element,V)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),I(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&I(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(p.on(this._element,J,t=>this._start(t)),p.on(this._element,Z,t=>this._end(t)),this._element.classList.add("pointer-event")):(p.on(this._element,X,t=>this._start(t)),p.on(this._element,Y,t=>this._move(t)),p.on(this._element,G,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const st=".bs.carousel",nt=".data-api",ot="ArrowLeft",rt="ArrowRight",at="next",lt="prev",ct="left",ht="right",ut=`slide${st}`,dt=`slid${st}`,gt=`keydown${st}`,_t=`mouseenter${st}`,mt=`mouseleave${st}`,ft=`dragstart${st}`,pt=`load${st}${nt}`,bt=`click${st}${nt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Ct=wt+At,Et={[ot]:ht,[rt]:ct},Tt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},kt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Lt extends j{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Tt}static get DefaultType(){return kt}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&$(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&T(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?p.one(this._element,dt,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void p.one(this._element,dt,()=>this.to(t));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?at:lt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&p.on(this._element,gt,t=>this._keydown(t)),"hover"===this._config.pause&&(p.on(this._element,_t,()=>this.pause()),p.on(this._element,mt,()=>this._maybeEnableCycle())),this._config.touch&&it.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))p.on(t,ft,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new it(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Et[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===at,n=e||M(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>p.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(ut).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),x(n),i.classList.add(l),n.classList.add(l),this._queueCallback(()=>{n.classList.remove(l,c),n.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(dt)},i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Ct,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return P()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return P()?t===lt?ct:ht:t===lt?ht:ct}}p.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=Lt.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===w.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())}),p.on(window,pt,()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)Lt.getOrCreateInstance(e)});const $t=".bs.collapse",St=`show${$t}`,Dt=`shown${$t}`,Ot=`hide${$t}`,xt=`hidden${$t}`,Pt=`click${$t}.data-api`,It="show",Nt="collapse",Mt="collapsing",Ft=`:scope .${Nt} .${Nt}`,jt='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},zt={parent:"(null|element)",toggle:"boolean"};class qt extends j{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(jt);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter(t=>t===this._element);null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return zt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>qt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(p.trigger(this._element,St).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Nt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Nt,It),this._element.style[e]="",p.trigger(this._element,Dt)},this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(p.trigger(this._element,Ot).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,x(this._element),this._element.classList.add(Mt),this._element.classList.remove(Nt,It);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Nt),p.trigger(this._element,xt)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(It)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=L(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(jt);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Ft,this._config.parent);return z.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}}p.on(document,Pt,jt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))qt.getOrCreateInstance(t,{toggle:!1}).toggle()});const Rt=".bs.dialog",Wt=`show${Rt}`,Bt=`shown${Rt}`,Kt=`hide${Rt}`,Qt=`hidden${Rt}`,Ut=`hidePrevented${Rt}`,Vt=`cancel${Rt}`,Xt=`click${Rt}.data-api`,Yt="dialog-static",Gt="dialog-open",Jt="dialog-nonmodal",Zt={backdrop:!0,keyboard:!0,modal:!0},te={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class ee extends j{constructor(t,e){super(t,e),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Zt}static get DefaultType(){return te}static get NAME(){return"dialog"}toggle(t){return this._element.open?this.hide():this.show(t)}show(t){this._element.open||this._isTransitioning||p.trigger(this._element,Wt,{relatedTarget:t}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add(Gt)):(this._element.classList.add(Jt),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,p.trigger(this._element,Bt,{relatedTarget:t})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(p.trigger(this._element,Kt).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){p.off(this._element,Rt),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove(Jt),this._isTransitioning=!1,document.querySelector("dialog.dialog[open]:not(.dialog-nonmodal)")||document.body.classList.remove(Gt),p.trigger(this._element,Qt)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){p.trigger(this._element,Ut).defaultPrevented||(this._element.classList.add(Yt),this._queueCallback(()=>{this._element.classList.remove(Yt)},this._element))}_addEventListeners(){p.on(this._element,"cancel",t=>{t.preventDefault(),this._config.keyboard?(p.trigger(this._element,Vt),this.hide()):this._triggerBackdropTransition()}),p.on(this._element,"keydown",t=>{"Escape"!==t.key||this._config.modal||(t.preventDefault(),this._config.keyboard&&(p.trigger(this._element,Vt),this.hide()))}),p.on(this._element,"click",t=>{t.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}p.on(document,Xt,'[data-bs-toggle="dialog"]',function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),p.one(e,Wt,t=>{t.defaultPrevented||p.one(e,Qt,()=>{$(this)&&this.focus()})});const i=w.getDataAttributes(this),s=this.closest("dialog[open]");if(s&&s!==e){ee.getOrCreateInstance(e,i).show(this);const t=ee.getInstance(s);return void(t&&t.hide())}ee.getOrCreateInstance(e,i).toggle(this)}),q(ee);const ie={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},se=(t,e="bottom")=>{if(!t||!t.includes(":"))return null;const i=t.split(/\s+/),s={xs:e};for(const t of i)if(t.includes(":")){const[e,i]=t.split(":");void 0!==ie[e]&&(s[e]=i)}else s.xs=t;return s},ne=(t,e="bottom")=>{if(!t)return e;const i=window.innerWidth;let s=t.xs||e;const n=["sm","md","lg","xl","2xl"];for(const e of n)i>=ie[e]&&t[e]&&(s=t[e]);return s},oe=t=>{const e=[];for(const i of Object.keys(ie)){const s=ie[i],n=window.matchMedia(`(min-width: ${s}px)`);n.addEventListener("change",t),e.push({mql:n,handler:t})}return e},re=t=>{for(const{mql:e,handler:i}of t)e.removeEventListener("change",i)},ae="dropdown",le=".bs.dropdown",ce=".data-api",he="ArrowUp",ue="ArrowDown",de=`hide${le}`,ge=`hidden${le}`,_e=`show${le}`,me=`shown${le}`,fe=`click${le}${ce}`,pe=`keydown${le}${ce}`,be=`keyup${le}${ce}`,ve="show",ye='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',we=`${ye}.${ve}`,Ae=".dropdown-menu",Ce=P()?"bottom-end":"bottom-start",Ee={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:Ce,reference:"toggle"},Te={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)"};class ke extends j{constructor(e,i){if(void 0===t.computePosition)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(e,i),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._menu=z.next(this._element,Ae)[0]||z.prev(this._element,Ae)[0]||z.findOne(Ae,this._parent),this._parseResponsivePlacements()}static get Default(){return Ee}static get DefaultType(){return Te}static get NAME(){return ae}toggle(){return this._isShown()?this.hide():this.show()}show(){if(S(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!p.trigger(this._element,_e,t).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))p.on(t,"mouseover",O);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(ve),this._element.classList.add(ve),p.trigger(this._element,me,t)}}hide(){if(S(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(t){if(!p.trigger(this._element,de,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))p.off(t,"mouseover",O);this._disposeFloating(),this._menu.classList.remove(ve),this._element.classList.remove(ve),this._element.setAttribute("aria-expanded","false"),w.removeDataAttribute(this._menu,"placement"),w.removeDataAttribute(this._menu,"display"),p.trigger(this._element,ge,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!k(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${ae.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createFloating(){if("static"===this._config.display)return void w.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:k(this._config.reference)?e=L(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=t.autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu||!this._menu.isConnected)return;e||(e="parent"===this._config.reference?this._parent:k(this._config.reference)?L(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const i=this._getPlacement(),s=this._getFloatingMiddleware(),n=this._getFloatingConfig(i,s),{x:o,y:r,placement:a}=await t.computePosition(e,this._menu,n);this._menu&&this._menu.isConnected&&(Object.assign(this._menu.style,{position:"absolute",left:`${o}px`,top:`${r}px`,margin:"0"}),w.setDataAttribute(this._menu,"placement",a))}_isShown(){return this._menu.classList.contains(ve)}_getPlacement(){return this._responsivePlacements?ne(this._responsivePlacements,Ce):this._config.placement}_parseResponsivePlacements(){this._responsivePlacements=se(this._config.placement,Ce),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=oe(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){re(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:i})=>t({placement:e,reference:i.reference,floating:i.floating},this._element):t}_getFloatingMiddleware(){const e=this._getOffset();return[t.offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),t.flip({fallbackPlacements:this._getFallbackPlacements()}),t.shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(t,e){const i={placement:t,middleware:e};return{...i,...I(this._config.floatingConfig,[void 0,i])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>$(t));i.length&&M(i,e,t===ue,!i.includes(e)).focus()}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(we);for(const i of e){const e=ke.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[he,ue].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ye)?this:z.prev(this,ye)[0]||z.next(this,ye)[0]||z.findOne(ye,t.delegateTarget.parentNode),o=ke.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}p.on(document,pe,ye,ke.dataApiKeydownHandler),p.on(document,pe,Ae,ke.dataApiKeydownHandler),p.on(document,fe,ke.clearMenus),p.on(document,be,ke.clearMenus),p.on(document,fe,ye,function(t){t.preventDefault(),ke.getOrCreateInstance(this).toggle()});const Le="backdrop",$e="show",Se=`mousedown.bs.${Le}`,De={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Oe={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class xe extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return De}static get DefaultType(){return Oe}static get NAME(){return Le}show(t){if(!this._config.isVisible)return void I(t);this._append();const e=this._getElement();this._config.isAnimated&&x(e),e.classList.add($e),this._emulateAnimation(()=>{I(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove($e),this._emulateAnimation(()=>{this.dispose(),I(t)})):I(t)}dispose(){this._isAppended&&(p.off(this._element,Se),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=L(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),p.on(t,Se,()=>{I(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){N(t,this._getElement(),this._config.isAnimated)}}const Pe=".bs.focustrap",Ie=`focusin${Pe}`,Ne=`keydown.tab${Pe}`,Me="backward",Fe={autofocus:!0,trapElement:null},je={autofocus:"boolean",trapElement:"element"};class He extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Fe}static get DefaultType(){return je}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),p.off(document,Pe),p.on(document,Ie,t=>this._handleFocusin(t)),p.on(document,Ne,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,p.off(document,Pe))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Me?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Me:"forward")}}const ze=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",qe=".sticky-top",Re="padding-right",We="margin-right";class Be{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Re,e=>e+t),this._setElementAttributes(ze,Re,e=>e+t),this._setElementAttributes(qe,We,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Re),this._resetElementAttributes(ze,Re),this._resetElementAttributes(qe,We)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)})}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&w.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=w.getDataAttribute(t,e);null!==i?(w.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(k(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const Ke=".bs.offcanvas",Qe=".data-api",Ue=`load${Ke}${Qe}`,Ve="show",Xe="showing",Ye="hiding",Ge=".offcanvas.show",Je=`show${Ke}`,Ze=`shown${Ke}`,ti=`hide${Ke}`,ei=`hidePrevented${Ke}`,ii=`hidden${Ke}`,si=`resize${Ke}`,ni=`click${Ke}${Qe}`,oi=`keydown.dismiss${Ke}`,ri={backdrop:!0,keyboard:!0,scroll:!1},ai={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class li extends j{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return ri}static get DefaultType(){return ai}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||p.trigger(this._element,Je,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Be).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Xe),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Ve),this._element.classList.remove(Xe),p.trigger(this._element,Ze,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(p.trigger(this._element,ti).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Ye),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(Ve,Ye),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Be).reset(),p.trigger(this._element,ii)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new xe({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():p.trigger(this._element,ei)}:null})}_initializeFocusTrap(){return new He({trapElement:this._element})}_addEventListeners(){p.on(this._element,oi,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():p.trigger(this._element,ei))})}}p.on(document,ni,'[data-bs-toggle="offcanvas"]',function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),S(this))return;p.one(e,ii,()=>{$(this)&&this.focus()});const i=z.findOne(Ge);i&&i!==e&&li.getInstance(i).hide(),li.getOrCreateInstance(e).toggle(this)}),p.on(window,Ue,()=>{for(const t of z.find(Ge))li.getOrCreateInstance(t).show()}),p.on(window,si,()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&li.getOrCreateInstance(t).hide()}),q(li);const ci={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},hi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ui=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,di=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!hi.has(i)||Boolean(ui.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(i))},gi={allowList:ci,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},_i={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},mi={entry:"(string|element|function|null)",selector:"(string|element)"};class fi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return gi}static get DefaultType(){return _i}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},mi)}_setContent(t,e,i){const s=z.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?k(e)?this._putElementInTemplate(L(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)di(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return I(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const pi=new Set(["sanitize","allowList","sanitizeFn"]),bi="fade",vi="show",yi=".tooltip-inner",wi=".modal",Ai='[data-bs-toggle="tooltip"]',Ci="hide.bs.modal",Ei="hover",Ti="focus",ki="click",Li="focusin",$i="mouseenter",Si={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},Di={allowList:ci,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},Oi={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class xi extends j{constructor(e,i){if(void 0===t.computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Di}static get DefaultType(){return Oi}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),p.off(this._element.closest(wi),Ci,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=p.trigger(this._element,this.constructor.eventName("show")),e=(D(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposeFloating();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),p.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(i),i.classList.add(vi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))p.on(t,"mouseover",O);this._queueCallback(()=>{p.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!p.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(vi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))p.off(t,"mouseover",O);this._activeTrigger[ki]=!1,this._activeTrigger[Ti]=!1,this._activeTrigger[Ei]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),p.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(bi,vi),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(bi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new fi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[yi]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(bi)}_isShown(){return this.tip&&this.tip.classList.contains(vi)}_getPlacement(t){if(this._responsivePlacements){const t=ne(this._responsivePlacements,"top");return Si[t.toUpperCase()]||t}const e=I(this._config.placement,[this,t,this._element]);return Si[e.toUpperCase()]||e}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=se(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=oe(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){re(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const i=this._getPlacement(e),s=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,i,s),this._floatingCleanup=t.autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,s))}async _updateFloatingPosition(e=this.tip,i=null,s=null){if(!e)return;i||(i=this._getPlacement(e)),s||(s=e.querySelector(`.${this.constructor.NAME}-arrow`));const n=this._getFloatingMiddleware(s),o=this._getFloatingConfig(i,n),{x:r,y:a,placement:l,middlewareData:c}=await t.computePosition(this._element,e,o);if(Object.assign(e.style,{position:"absolute",left:`${r}px`,top:`${a}px`}),s&&(s.style.position="absolute"),w.setDataAttribute(e,"placement",l),s&&c.arrow){const{x:t,y:e}=c.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(s.style,{left:i&&null!==t?`${t}px`:"",top:i||null===e?"":`${e}px`,right:"",bottom:""})}}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:i})=>t({placement:e,reference:i.reference,floating:i.floating},this._element):t}_resolvePossibleFunction(t){return I(t,[this._element,this._element])}_getFloatingMiddleware(e){const i=this._getOffset(),s=[t.offset("function"==typeof i?i:{mainAxis:i[1]||0,crossAxis:i[0]||0}),t.flip({fallbackPlacements:this._config.fallbackPlacements}),t.shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&s.push(t.arrow({element:e})),s}_getFloatingConfig(t,e){const i={placement:t,middleware:e};return{...i,...I(this._config.floatingConfig,[void 0,i])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)p.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[ki]=!(e._isShown()&&e._activeTrigger[ki]),e.toggle()});else if("manual"!==e){const t=e===Ei?this.constructor.eventName($i):this.constructor.eventName(Li),i=e===Ei?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");p.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Ti:Ei]=!0,e._enter()}),p.on(this._element,i,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Ti:Ei]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},p.on(this._element.closest(wi),Ci,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=w.getDataAttributes(this._element);for(const t of Object.keys(e))pi.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:L(t.container),"number"==typeof 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()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const Pi=t=>{const e=t.target.closest(Ai);if(!e)return;const i=xi.getOrCreateInstance(e);"focusin"===t.type&&(i._activeTrigger.focus=!0,i._enter())};p.on(document,Li,Ai,Pi),p.on(document,$i,Ai,Pi);const Ii=".popover-header",Ni=".popover-body",Mi='[data-bs-toggle="popover"]',Fi={...xi.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},ji={...xi.DefaultType,content:"(null|string|element|function)"};class Hi extends xi{static get Default(){return Fi}static get DefaultType(){return ji}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ii]:this._getTitle(),[Ni]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const zi=t=>{const e=t.target.closest(Mi);if(!e)return;"click"===t.type&&t.preventDefault();const i=Hi.getOrCreateInstance(e);"click"===t.type?i.toggle():"focusin"===t.type&&(i._activeTrigger.focus=!0,i._enter())};p.on(document,"click",Mi,zi),p.on(document,"focusin",Mi,zi),p.on(document,"mouseenter",Mi,zi);const qi=".bs.scrollspy",Ri=`activate${qi}`,Wi=`click${qi}`,Bi=`load${qi}.data-api`,Ki="active",Qi="[href]",Ui=".nav-link",Vi=`${Ui}, .nav-item > ${Ui}, .list-group-item`,Xi={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Yi={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Gi extends j{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=L(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(p.off(this._config.target,Wi),p.on(this._config.target,Wi,Qi,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(Qi,this._config.target);for(const e of t){if(!e.hash||S(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);$(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Ki),this._activateParents(t),p.trigger(this._element,Ri,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Ki);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,Vi))t.classList.add(Ki)}_clearActiveClass(t){t.classList.remove(Ki);const e=z.find(`${Qi}.${Ki}`,t);for(const t of e)t.classList.remove(Ki)}}p.on(window,Bi,()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Gi.getOrCreateInstance(t)});const Ji=".bs.tab",Zi=`hide${Ji}`,ts=`hidden${Ji}`,es=`show${Ji}`,is=`shown${Ji}`,ss=`click${Ji}`,ns=`keydown${Ji}`,os=`load${Ji}`,rs="ArrowLeft",as="ArrowRight",ls="ArrowUp",cs="ArrowDown",hs="Home",us="End",ds="active",gs="fade",_s="show",ms=".dropdown-toggle",fs=`:not(${ms})`,ps='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',bs=`.nav-link${fs}, .list-group-item${fs}, [role="tab"]${fs}, ${ps}`,vs=`.${ds}[data-bs-toggle="tab"], .${ds}[data-bs-toggle="pill"], .${ds}[data-bs-toggle="list"]`;class ys extends j{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),p.on(this._element,ns,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?p.trigger(e,Zi,{relatedTarget:t}):null;p.trigger(t,es,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(ds),this._activate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),p.trigger(t,is,{relatedTarget:e})):t.classList.add(_s)},t,t.classList.contains(gs)))}_deactivate(t,e){t&&(t.classList.remove(ds),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),p.trigger(t,ts,{relatedTarget:e})):t.classList.remove(_s)},t,t.classList.contains(gs)))}_keydown(t){if(![rs,as,ls,cs,hs,us].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!S(t));let i;if([hs,us].includes(t.key))i=e[t.key===hs?0:e.length-1];else{const s=[as,cs].includes(t.key);i=M(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),ys.getOrCreateInstance(i).show())}_getChildren(){return z.find(bs,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=z.findOne(t,i);n&&n.classList.toggle(s,e)};s(ms,ds),s(".dropdown-menu",_s),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ds)}_getInnerElement(t){return t.matches(bs)?t:z.findOne(bs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}}p.on(document,ss,ps,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),S(this)||ys.getOrCreateInstance(this).show()}),p.on(window,os,()=>{for(const t of z.find(vs))ys.getOrCreateInstance(t)});const ws=".bs.toast",As=`mouseover${ws}`,Cs=`mouseout${ws}`,Es=`focusin${ws}`,Ts=`focusout${ws}`,ks=`hide${ws}`,Ls=`hidden${ws}`,$s=`show${ws}`,Ss=`shown${ws}`,Ds="hide",Os="show",xs="showing",Ps={animation:"boolean",autohide:"boolean",delay:"number"},Is={animation:!0,autohide:!0,delay:5e3};class Ns extends j{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Is}static get DefaultType(){return Ps}static get NAME(){return"toast"}show(){p.trigger(this._element,$s).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ds),x(this._element),this._element.classList.add(Os,xs),this._queueCallback(()=>{this._element.classList.remove(xs),p.trigger(this._element,Ss),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(p.trigger(this._element,ks).defaultPrevented||(this._element.classList.add(xs),this._queueCallback(()=>{this._element.classList.add(Ds),this._element.classList.remove(xs,Os),p.trigger(this._element,Ls)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Os),super.dispose()}isShown(){return this._element.classList.contains(Os)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){p.on(this._element,As,t=>this._onInteraction(t,!0)),p.on(this._element,Cs,t=>this._onInteraction(t,!1)),p.on(this._element,Es,t=>this._onInteraction(t,!0)),p.on(this._element,Ts,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}return q(Ns),{Alert:K,Button:U,Carousel:Lt,Collapse:qt,Dialog:ee,Dropdown:ke,Offcanvas:li,Popover:Hi,ScrollSpy:Gi,Tab:ys,Toast:Ns,Tooltip:xi}});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vanilla-calendar-pro"),require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["vanilla-calendar-pro","@floating-ui/dom"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.vanillaCalendarPro,t.FloatingUIDOM)}(this,function(t,e){"use strict";const s=new Map,i={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},n=/[^.]*(?=\..*)\.|.*/,o=/\..*/,r=/::\d+$/,a={};let l=1;const c={mouseenter:"mouseover",mouseleave:"mouseout"},h=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function u(t,e){return e&&`${e}::${l++}`||t.uidEvent||l++}function d(t){const e=u(t);return t.uidEvent=e,a[e]=a[e]||{},a[e]}function g(t,e,s=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===s)}function _(t,e,s){const i="string"==typeof e,n=i?s:e||s;let r=(a=(a=t).replace(o,""),c[a]||a);var a;return h.has(r)||(r=t),[i,n,r]}function m(t,e,s,i,o){if("string"!=typeof e||!t)return;let[r,a,l]=_(e,s,i);if(e in c){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};a=t(a)}const h=d(t),m=h[l]||(h[l]={}),f=g(m,a,r?s:null);if(f)return void(f.oneOff=f.oneOff&&o);const p=u(a,e.replace(n,"")),y=r?function(t,e,s){return function i(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return v(n,{delegateTarget:r}),i.oneOff&&b.off(t,n.type,e,s),s.apply(r,[n])}}(t,s,a):function(t,e){return function s(i){return v(i,{delegateTarget:t}),s.oneOff&&b.off(t,i.type,e),e.apply(t,[i])}}(t,a);y.delegationSelector=r?s:null,y.callable=a,y.oneOff=o,y.uidEvent=p,m[p]=y,t.addEventListener(l,y,r)}function f(t,e,s,i,n){const o=g(e[s],i,n);o&&(t.removeEventListener(s,o,Boolean(n)),delete e[s][o.uidEvent])}function p(t,e,s,i){const n=e[s]||{};for(const[o,r]of Object.entries(n))o.includes(i)&&f(t,e,s,r.callable,r.delegationSelector)}const b={on(t,e,s,i){m(t,e,s,i,!1)},one(t,e,s,i){m(t,e,s,i,!0)},off(t,e,s,i){if("string"!=typeof e||!t)return;const[n,o,a]=_(e,s,i),l=a!==e,c=d(t),h=c[a]||{},u=e.startsWith(".");if(void 0===o){if(u)for(const s of Object.keys(c))p(t,c,s,e.slice(1));for(const[s,i]of Object.entries(h)){const n=s.replace(r,"");l&&!e.includes(n)||f(t,c,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(h).length)return;f(t,c,a,o,n?s:null)}},trigger(t,e,s){if("string"!=typeof e||!t)return null;const i=v(new Event(e,{bubbles:!0,cancelable:!0}),s);return t.dispatchEvent(i),i}};function v(t,e={}){for(const[s,i]of Object.entries(e))try{t[s]=i}catch{Object.defineProperty(t,s,{configurable:!0,get:()=>i})}return t}function y(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch{return t}}function w(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const A={setDataAttribute(t,e,s){t.setAttribute(`data-bs-${w(e)}`,s)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${w(e)}`)},getDataAttributes(t){if(!t)return{};const e={},s=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const i of s){let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1),e[s]=y(t.dataset[i])}return e},getDataAttribute:(t,e)=>y(t.getAttribute(`data-bs-${w(e)}`))},C="transitionend",E=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),T=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),S=t=>{t.dispatchEvent(new Event(C))},k=t=>!(!t||"object"!=typeof t)&&void 0!==t.nodeType,D=t=>k(t)?t:"string"==typeof t&&t.length>0?document.querySelector(E(t)):null,$=t=>{if(!k(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),s=t.closest("details:not([open])");if(!s)return e;if(s!==t){const e=t.closest("summary");if(e&&e.parentNode!==s)return!1;if(null===e)return!1}return e},L=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),x=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?x(t.parentNode):null},I=()=>{},O=t=>{t.offsetHeight},M=()=>"rtl"===document.documentElement.dir,P=(t,e=[],s=t)=>"function"==typeof t?t.call(...e):s,F=(t,e,s=!0)=>{if(!s)return void P(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),n=Number.parseFloat(s);return i||n?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0})(e)+5;let n=!1;const o=({target:s})=>{s===e&&(n=!0,e.removeEventListener(C,o),P(t))};e.addEventListener(C,o),setTimeout(()=>{n||S(e)},i)},N=(t,e,s,i)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!s&&i?t[n-1]:t[0]:(o+=s?1:-1,i&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])};class j{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const s=k(e)?A.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof s?s:{},...k(e)?A.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,i]of Object.entries(e)){const e=t[s],n=k(e)?"element":T(e);if(!new RegExp(i).test(n))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${n}" but expected type "${i}".`)}}}class H extends j{constructor(t,e){super(),(t=D(t))&&(this._element=t,this._config=this._getConfig(e),i.set(this._element,this.constructor.DATA_KEY,this))}dispose(){i.remove(this._element,this.constructor.DATA_KEY),b.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,s=!0){F(t,e,s)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return i.get(D(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const q=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let s=t.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),e=s&&"#"!==s?s.trim():null}return e?e.split(",").map(t=>E(t)).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const s=[];let i=t.parentNode.closest(e);for(;i;)s.push(i),i=i.parentNode.closest(e);return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!L(t)&&$(t))},getSelectorFromElement(t){const e=q(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=q(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=q(t);return e?z.find(e):[]}},W=(t,e="hide")=>{const s=`click.dismiss${t.EVENT_KEY}`,i=t.NAME;b.on(document,s,`[data-bs-dismiss="${i}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),L(this))return;const n=z.getElementFromSelector(this)||this.closest(`.${i}`);t.getOrCreateInstance(n)[e]()})},R=(t,e,s)=>{const i=`${e}:not(.disabled):not(:disabled)`;b.on(document,t,i,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault();const e=z.getSelectorFromElement(this),i=e?z.find(e):[this];s({targets:i,event:t})})},B=".bs.alert",U=`close${B}`,V=`closed${B}`;class K extends H{static get NAME(){return"alert"}close(){if(b.trigger(this._element,U).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),b.trigger(this._element,V),this.dispose()}}W(K,"close");const Q='[data-bs-toggle="button"]';class X extends H{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}b.on(document,"click.bs.button.data-api",Q,t=>{t.preventDefault();const e=t.target.closest(Q);X.getOrCreateInstance(e).toggle()});const Y=".bs.swipe",G=`touchstart${Y}`,Z=`touchmove${Y}`,J=`touchend${Y}`,tt=`pointerdown${Y}`,et=`pointerup${Y}`,st={endCallback:null,leftCallback:null,rightCallback:null},it={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class nt extends j{constructor(t,e){super(),this._element=t,t&&nt.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return st}static get DefaultType(){return it}static get NAME(){return"swipe"}dispose(){b.off(this._element,Y)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),P(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&P(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(b.on(this._element,tt,t=>this._start(t)),b.on(this._element,et,t=>this._end(t)),this._element.classList.add("pointer-event")):(b.on(this._element,G,t=>this._start(t)),b.on(this._element,Z,t=>this._move(t)),b.on(this._element,J,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="ArrowLeft",lt="ArrowRight",ct="next",ht="prev",ut="left",dt="right",gt=`slide${ot}`,_t=`slid${ot}`,mt=`keydown${ot}`,ft=`mouseenter${ot}`,pt=`mouseleave${ot}`,bt=`dragstart${ot}`,vt=`load${ot}${rt}`,yt=`click${ot}${rt}`,wt="carousel",At="active",Ct=".active",Et=".carousel-item",Tt=Ct+Et,St={[at]:dt,[lt]:ut},kt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Dt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class $t extends H{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===wt&&this.cycle()}static get Default(){return kt}static get DefaultType(){return Dt}static get NAME(){return"carousel"}next(){this._slide(ct)}nextWhenVisible(){!document.hidden&&$(this._element)&&this.next()}prev(){this._slide(ht)}pause(){this._isSliding&&S(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?b.one(this._element,_t,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void b.one(this._element,_t,()=>this.to(t));const s=this._getItemIndex(this._getActive());if(s===t)return;const i=t>s?ct:ht;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&b.on(this._element,mt,t=>this._keydown(t)),"hover"===this._config.pause&&(b.on(this._element,ft,()=>this.pause()),b.on(this._element,pt,()=>this._maybeEnableCycle())),this._config.touch&&nt.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))b.on(t,bt,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(dt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new nt(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=St[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(Ct,this._indicatorsElement);e.classList.remove(At),e.removeAttribute("aria-current");const s=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);s&&(s.classList.add(At),s.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const s=this._getActive(),i=t===ct,n=e||N(this._getItems(),s,i,this._config.wrap);if(n===s)return;const o=this._getItemIndex(n),r=e=>b.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(s),to:o});if(r(gt).defaultPrevented)return;if(!s||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=i?"carousel-item-start":"carousel-item-end",c=i?"carousel-item-next":"carousel-item-prev";n.classList.add(c),O(n),s.classList.add(l),n.classList.add(l),this._queueCallback(()=>{n.classList.remove(l,c),n.classList.add(At),s.classList.remove(At,c,l),this._isSliding=!1,r(_t)},s,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Tt,this._element)}_getItems(){return z.find(Et,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return M()?t===ut?ht:ct:t===ut?ct:ht}_orderToDirection(t){return M()?t===ht?ut:dt:t===ht?dt:ut}}b.on(document,yt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(wt))return;t.preventDefault();const s=$t.getOrCreateInstance(e),i=this.getAttribute("data-bs-slide-to");return i?(s.to(i),void s._maybeEnableCycle()):"next"===A.getDataAttribute(this,"slide")?(s.next(),void s._maybeEnableCycle()):(s.prev(),void s._maybeEnableCycle())}),b.on(window,vt,()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)$t.getOrCreateInstance(e)});const Lt=".bs.collapse",xt=`show${Lt}`,It=`shown${Lt}`,Ot=`hide${Lt}`,Mt=`hidden${Lt}`,Pt=`click${Lt}.data-api`,Ft="show",Nt="collapse",jt="collapsing",Ht=`:scope .${Nt} .${Nt}`,qt='[data-bs-toggle="collapse"]',zt={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Rt extends H{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const s=z.find(qt);for(const t of s){const e=z.getSelectorFromElement(t),s=z.find(e).filter(t=>t===this._element);null!==e&&s.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zt}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>Rt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(b.trigger(this._element,xt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Nt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Nt,Ft),this._element.style[e]="",b.trigger(this._element,It)},this._element,!0),this._element.style[e]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(b.trigger(this._element,Ot).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,O(this._element),this._element.classList.add(jt),this._element.classList.remove(Nt,Ft);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Nt),b.trigger(this._element,Mt)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(Ft)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=D(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(qt);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Ht,this._config.parent);return z.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const s of t)s.classList.toggle("collapsed",!e),s.setAttribute("aria-expanded",e)}}b.on(document,Pt,qt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Rt.getOrCreateInstance(t,{toggle:!1}).toggle()});const Bt=".bs.datepicker",Ut=".data-api",Vt=`change${Bt}`,Kt=`show${Bt}`,Qt=`shown${Bt}`,Xt=`hide${Bt}`,Yt=`hidden${Bt}`,Gt=`click${Bt}${Ut}`,Zt=`focusin${Bt}${Ut}`,Jt='[data-bs-toggle="datepicker"]',te={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},ee={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class se extends H{constructor(t,e){super(t,e),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return te}static get DefaultType(){return ee}static get NAME(){return"datepicker"}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||L(this._element)||this._isShown||b.trigger(this._element,Kt).defaultPrevented||(this._calendar.show(),this._isShown=!0,b.trigger(this._element,Qt))}hide(){this._config.inline||this._calendar&&this._isShown&&(b.trigger(this._element,Xt).defaultPrevented||(this._calendar.hide(),this._isShown=!1,b.trigger(this._element,Yt)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const t=this._calendar?.context?.selectedDates;return t?[...t]:[]}setSelectedDates(t){this._calendar&&this._calendar.set({selectedDates:t})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new t.Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:t}=this._config;if(!t||0===t.length)return;const e=this._formatDateForInput(t);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=t.join(",")),this._displayElement&&(this._displayElement.textContent=e)}_resolvePositionElement(){let{positionElement:t}=this._config;if("string"==typeof t&&(t=document.querySelector(t)),!t&&this._isInput&&!this._isInline){const e=this._element.closest(".form-adorn");e&&(t=e)}return t||this._element}_resolveDisplayElement(){const{displayElement:t}=this._config;return"string"==typeof t?document.querySelector(t):!0===t||null===t&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:t}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:t}=this._config;if(t)return t;const e=this._getThemeAncestor();return e?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(t){if(!t)return;const e=this._getEffectiveTheme();e?t.setAttribute("data-bs-theme",e):t.removeAttribute("data-bs-theme")}_setupThemeObserver(){const t=this._getThemeAncestor();t&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(t,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const t=this._getEffectiveTheme(),e=t&&"auto"!==t?t:"system",s={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:e,themeAttrDetect:"[data-bs-theme]",onClickDate:(t,e)=>this._handleDateClick(t,e),onInit:t=>{this._syncThemeAttribute(t.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const t=this._parseDate(this._config.selectedDates[0]);s.selectedMonth=t.getMonth(),s.selectedYear=t.getFullYear()}return this._config.dateMin&&(s.dateMin=this._config.dateMin),this._config.dateMax&&(s.dateMax=this._config.dateMax),s}_handleDateClick(t,e){const s=[...t.context.selectedDates];if(s.length>0){const t=this._formatDateForInput(s);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=s.join(",")),this._displayElement&&(this._displayElement.textContent=t)}b.trigger(this._element,Vt,{dates:s,event:e}),this._maybeHideAfterSelection(s)}_maybeHideAfterSelection(t){this._isInline||("single"===this._config.selectionMode&&t.length>0||"multiple-ranged"===this._config.selectionMode&&t.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(t){const[e,s,i]=t.split("-");return new Date(e,s-1,i)}_formatDate(t){const e=this._parseDate(t),s="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(e,s):i&&"object"==typeof i?new Intl.DateTimeFormat(s,i).format(e):e.toLocaleDateString(s)}_formatDateForInput(t){if(0===t.length)return"";if(1===t.length)return this._formatDate(t[0]);const e="multiple-ranged"===this._config.selectionMode?" â€“ ":", ";return t.map(t=>this._formatDate(t)).join(e)}_parseInputValue(){const t=this._element.value.trim();if(!t)return;const e=new Date(t);if(!Number.isNaN(e.getTime())){const t=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[t]})}}}b.on(document,Gt,Jt,function(t){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(t.preventDefault(),se.getOrCreateInstance(this).toggle())}),b.on(document,Zt,Jt,function(){"INPUT"===this.tagName&&se.getOrCreateInstance(this).show()}),b.on(document,`DOMContentLoaded${Bt}${Ut}`,()=>{for(const t of document.querySelectorAll(`${Jt}[data-bs-inline="true"]`))se.getOrCreateInstance(t)});const ie=".bs.dialog",ne=`show${ie}`,oe=`shown${ie}`,re=`hide${ie}`,ae=`hidden${ie}`,le=`hidePrevented${ie}`,ce=`cancel${ie}`,he=`click${ie}.data-api`,ue="dialog-static",de="dialog-open",ge="dialog-nonmodal",_e={backdrop:!0,keyboard:!0,modal:!0},me={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class fe extends H{constructor(t,e){super(t,e),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return _e}static get DefaultType(){return me}static get NAME(){return"dialog"}toggle(t){return this._element.open?this.hide():this.show(t)}show(t){this._element.open||this._isTransitioning||b.trigger(this._element,ne,{relatedTarget:t}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add(de)):(this._element.classList.add(ge),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,b.trigger(this._element,oe,{relatedTarget:t})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(b.trigger(this._element,re).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){b.off(this._element,ie),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove(ge),this._isTransitioning=!1,document.querySelector("dialog.dialog[open]:not(.dialog-nonmodal)")||document.body.classList.remove(de),b.trigger(this._element,ae)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){b.trigger(this._element,le).defaultPrevented||(this._element.classList.add(ue),this._queueCallback(()=>{this._element.classList.remove(ue)},this._element))}_addEventListeners(){b.on(this._element,"cancel",t=>{t.preventDefault(),this._config.keyboard?(b.trigger(this._element,ce),this.hide()):this._triggerBackdropTransition()}),b.on(this._element,"keydown",t=>{"Escape"!==t.key||this._config.modal||(t.preventDefault(),this._config.keyboard&&(b.trigger(this._element,ce),this.hide()))}),b.on(this._element,"click",t=>{t.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}b.on(document,he,'[data-bs-toggle="dialog"]',function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),b.one(e,ne,t=>{t.defaultPrevented||b.one(e,ae,()=>{$(this)&&this.focus()})});const s=A.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==e){fe.getOrCreateInstance(e,s).show(this);const t=fe.getInstance(i);return void(t&&t.hide())}fe.getOrCreateInstance(e,s).toggle(this)}),W(fe);const pe={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},be=(t,e="bottom")=>{if(!t||!t.includes(":"))return null;const s=t.split(/\s+/),i={xs:e};for(const t of s)if(t.includes(":")){const[e,s]=t.split(":");void 0!==pe[e]&&(i[e]=s)}else i.xs=t;return i},ve=(t,e="bottom")=>{if(!t)return e;const s=window.innerWidth;let i=t.xs||e;const n=["sm","md","lg","xl","2xl"];for(const e of n)s>=pe[e]&&t[e]&&(i=t[e]);return i},ye=t=>{const e=[];for(const s of Object.keys(pe)){const i=pe[s],n=window.matchMedia(`(min-width: ${i}px)`);n.addEventListener("change",t),e.push({mql:n,handler:t})}return e},we=t=>{for(const{mql:e,handler:s}of t)e.removeEventListener("change",s)},Ae="dropdown",Ce=".bs.dropdown",Ee=".data-api",Te="ArrowUp",Se="ArrowDown",ke="ArrowLeft",De="ArrowRight",$e="Home",Le="End",xe="Enter",Ie=" ",Oe=`hide${Ce}`,Me=`hidden${Ce}`,Pe=`show${Ce}`,Fe=`shown${Ce}`,Ne=`click${Ce}${Ee}`,je=`keydown${Ce}${Ee}`,He=`keyup${Ce}${Ee}`,qe="show",ze='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',We=`${ze}.${qe}`,Re=".dropdown-menu",Be=".dropdown-submenu",Ue=".dropdown-submenu > .dropdown-item",Ve=".dropdown-item:not(.disabled):not(:disabled)",Ke="bottom-start",Qe=t=>M()?t.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):t.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),Xe=(t,e,s)=>(t.x-s.x)*(e.y-s.y)-(e.x-s.x)*(t.y-s.y),Ye={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],floatingConfig:null,placement:Ke,reference:"toggle",submenuTrigger:"both",submenuDelay:100},Ge={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",placement:"string",reference:"(string|element|object)",submenuTrigger:"string",submenuDelay:"number"};class Ze extends H{constructor(t,s){if(void 0===e.computePosition)throw new TypeError("Bootstrap's dropdowns require Floating UI (https://floating-ui.com)");super(t,s),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList.contains("dropdown-submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=z.next(this._element,Re)[0]||z.prev(this._element,Re)[0]||z.findOne(Re,this._parent),this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Ye}static get DefaultType(){return Ge}static get NAME(){return Ae}toggle(){return this._isShown()?this.hide():this.show()}show(){if(L(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!b.trigger(this._element,Pe,t).defaultPrevented){if(this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))b.on(t,"mouseover",I);this._element.focus(),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add(qe),this._element.classList.add(qe),this._parent.classList.add(qe),b.trigger(this._element,Fe,t)}}hide(){if(L(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._disposeFloating(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_completeHide(t){if(!b.trigger(this._element,Oe,t).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))b.off(t,"mouseover",I);this._disposeFloating(),this._menu.classList.remove(qe),this._element.classList.remove(qe),this._parent.classList.remove(qe),this._element.setAttribute("aria-expanded","false"),A.removeDataAttribute(this._menu,"placement"),A.removeDataAttribute(this._menu,"display"),b.trigger(this._element,Me,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!k(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ae.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createFloating(){if("static"===this._config.display)return void A.setDataAttribute(this._menu,"display","static");let t=this._element;"parent"===this._config.reference?t=this._parent:k(this._config.reference)?t=D(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference),this._updateFloatingPosition(t),this._floatingCleanup=e.autoUpdate(t,this._menu,()=>this._updateFloatingPosition(t))}async _updateFloatingPosition(t=null){if(!this._menu)return;t||(t="parent"===this._config.reference?this._parent:k(this._config.reference)?D(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const e=this._getPlacement(),s=this._getFloatingMiddleware(),i=this._getFloatingConfig(e,s);await this._applyFloatingPosition(t,this._menu,i.placement,i.middleware)}_isShown(){return this._menu.classList.contains(qe)}_getPlacement(){const t=this._responsivePlacements?ve(this._responsivePlacements,Ke):this._config.placement;return Qe(t)}_parseResponsivePlacements(){this._responsivePlacements=be(this._config.placement,Ke),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=ye(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){we(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:s})=>t({placement:e,reference:s.reference,floating:s.floating},this._element):t}_getFloatingMiddleware(){const t=this._getOffset();return[e.offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),e.flip({fallbackPlacements:this._getFallbackPlacements()}),e.shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(t,e){const s={placement:t,middleware:e};return{...s,...P(this._config.floatingConfig,[void 0,s])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}async _applyFloatingPosition(t,s,i,n){if(!s.isConnected)return null;const{x:o,y:r,placement:a}=await e.computePosition(t,s,{placement:i,middleware:n});return s.isConnected?(Object.assign(s.style,{position:"absolute",left:`${o}px`,top:`${r}px`,margin:"0"}),A.setDataAttribute(s,"placement",a),a):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(b.on(this._menu,"mouseenter",Ue,t=>{this._onSubmenuTriggerEnter(t)}),b.on(this._menu,"mouseleave",Be,t=>{this._onSubmenuLeave(t)}),b.on(this._menu,"mousemove",t=>{this._trackMousePosition(t)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||b.on(this._menu,"click",Ue,t=>{this._onSubmenuTriggerClick(t)})}_onSubmenuTriggerEnter(t){const e=t.target.closest(Ue);if(!e)return;const s=e.closest(Be),i=z.findOne(Re,s);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(s),this._openSubmenu(e,i,s))}_onSubmenuLeave(t){const e=t.target.closest(Be),s=z.findOne(Re,e);s&&this._openSubmenus.has(s)&&(this._isMovingTowardSubmenu(t,s)||this._scheduleSubmenuClose(s,e))}_onSubmenuTriggerClick(t){const e=t.target.closest(Ue);if(!e)return;t.preventDefault(),t.stopPropagation();const s=e.closest(Be),i=z.findOne(Re,s);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,s):(this._closeSiblingSubmenus(s),this._openSubmenu(e,i,s)))}_openSubmenu(t,e,s){if(this._openSubmenus.has(e))return;t.setAttribute("aria-expanded","true"),t.setAttribute("aria-haspopup","true"),e.classList.add(qe),s.classList.add(qe);const i=this._createSubmenuFloating(t,e,s);this._openSubmenus.set(e,i),b.on(e,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(e)})}_closeSubmenu(t,e){if(!this._openSubmenus.has(t))return;const s=z.find(`${Be} ${Re}.${qe}`,t);for(const t of s){const e=t.closest(Be);this._closeSubmenu(t,e)}const i=z.findOne(Ue,e),n=this._openSubmenus.get(t);n&&n(),this._openSubmenus.delete(t),b.off(t,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),t.classList.remove(qe),e.classList.remove(qe),t.style.position="",t.style.left="",t.style.top="",t.style.margin=""}_closeAllSubmenus(){for(const[t]of this._openSubmenus){const e=t.closest(Be);this._closeSubmenu(t,e)}}_closeSiblingSubmenus(t){const e=t.parentNode,s=z.find(`${Be} > ${Re}.${qe}`,e);for(const e of s){const s=e.closest(Be);s!==t&&this._closeSubmenu(e,s)}}_createSubmenuFloating(t,s,i){const n=i,o=Qe("end-start"),r=[e.offset({mainAxis:0,crossAxis:-4}),e.flip({fallbackPlacements:[Qe("start-start"),Qe("end-end"),Qe("start-end")]}),e.shift({padding:8})],a=()=>this._applyFloatingPosition(n,s,o,r);return a(),e.autoUpdate(n,s,a)}_scheduleSubmenuClose(t,e){this._cancelSubmenuCloseTimeout(t);const s=setTimeout(()=>{this._closeSubmenu(t,e),this._submenuCloseTimeouts.delete(t)},this._config.submenuDelay);this._submenuCloseTimeouts.set(t,s)}_cancelSubmenuCloseTimeout(t){const e=this._submenuCloseTimeouts.get(t);e&&(clearTimeout(e),this._submenuCloseTimeouts.delete(t))}_clearAllSubmenuTimeouts(){for(const t of this._submenuCloseTimeouts.values())clearTimeout(t);this._submenuCloseTimeouts.clear()}_trackMousePosition(t){this._hoverIntentData={x:t.clientX,y:t.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(t,e){if(!this._hoverIntentData)return!1;const s=e.getBoundingClientRect(),i={x:t.clientX,y:t.clientY},n={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=M()?s.right:s.left,r={x:o,y:s.top},a={x:o,y:s.bottom};return this._pointInTriangle(i,n,r,a)}_pointInTriangle(t,e,s,i){const n=Xe(t,e,s),o=Xe(t,s,i),r=Xe(t,i,e);return!((n<0||o<0||r<0)&&(n>0||o>0||r>0))}_selectMenuItem({key:t,target:e}){const s=e.closest(Re)||this._menu,i=z.find(`:scope > li > ${Ve}, :scope > ${Ve}`,s).filter(t=>$(t));i.length&&N(i,e,t===Se,!i.includes(e)).focus()}_handleSubmenuKeydown(t){const{key:e,target:s}=t,i=M(),n=i?ke:De,o=i?De:ke,r=s.closest(Be),a=r&&s.matches(Ue);if((e===xe||e===Ie)&&a){t.preventDefault(),t.stopPropagation();const e=z.findOne(Re,r);return e&&(this._closeSiblingSubmenus(r),this._openSubmenu(s,e,r),requestAnimationFrame(()=>{const t=z.findOne(Ve,e);t&&t.focus()})),!0}if(e===n&&a){t.preventDefault(),t.stopPropagation();const e=z.findOne(Re,r);return e&&(this._closeSiblingSubmenus(r),this._openSubmenu(s,e,r),requestAnimationFrame(()=>{const t=z.findOne(Ve,e);t&&t.focus()})),!0}if(e===o){const e=s.closest(Re),i=e?.closest(Be);if(i){t.preventDefault(),t.stopPropagation();const s=z.findOne(Ue,i);return this._closeSubmenu(e,i),s&&s.focus(),!0}}if(e===$e||e===Le){t.preventDefault(),t.stopPropagation();const i=s.closest(Re),n=z.find(`:scope > li > ${Ve}, :scope > ${Ve}`,i).filter(t=>$(t));return n.length&&(e===$e?n[0]:n[n.length-1]).focus(),!0}return!1}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(We);for(const s of e){const e=Ze.getInstance(s);if(!e||!1===e._config.autoClose)continue;const i=t.composedPath(),n=i.includes(e._menu);if(i.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),s="Escape"===t.key,i=[Te,Se].includes(t.key),n=[ke,De].includes(t.key),o=[$e,Le].includes(t.key),r=[xe,Ie].includes(t.key),a=t.target.matches(Ue);if(!(i||s||n||o||r&&a))return;if(e&&!s)return;const l=this.matches(ze)?this:z.prev(this,ze)[0]||z.next(this,ze)[0]||z.findOne(ze,t.delegateTarget.parentNode);if(!l)return;const c=Ze.getOrCreateInstance(l);if(!(n||o||r&&a)||!c._handleSubmenuKeydown(t)){if(i)return t.preventDefault(),t.stopPropagation(),c.show(),void c._selectMenuItem(t);if(s&&c._isShown()){t.preventDefault(),t.stopPropagation();const e=t.target.closest(Re),s=e?.closest(Be);if(s&&c._openSubmenus.size>0){const t=z.findOne(Ue,s);return c._closeSubmenu(e,s),void(t&&t.focus())}c.hide(),l.focus()}}}}b.on(document,je,ze,Ze.dataApiKeydownHandler),b.on(document,je,Re,Ze.dataApiKeydownHandler),b.on(document,Ne,Ze.clearMenus),b.on(document,He,Ze.clearMenus),b.on(document,Ne,ze,function(t){t.preventDefault(),Ze.getOrCreateInstance(this).toggle()});const Je="backdrop",ts="show",es=`mousedown.bs.${Je}`,ss={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},is={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ns extends j{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ss}static get DefaultType(){return is}static get NAME(){return Je}show(t){if(!this._config.isVisible)return void P(t);this._append();const e=this._getElement();this._config.isAnimated&&O(e),e.classList.add(ts),this._emulateAnimation(()=>{P(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(ts),this._emulateAnimation(()=>{this.dispose(),P(t)})):P(t)}dispose(){this._isAppended&&(b.off(this._element,es),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=D(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),b.on(t,es,()=>{P(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){F(t,this._getElement(),this._config.isAnimated)}}const os=".bs.focustrap",rs=`focusin${os}`,as=`keydown.tab${os}`,ls="backward",cs={autofocus:!0,trapElement:null},hs={autofocus:"boolean",trapElement:"element"};class us extends j{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return cs}static get DefaultType(){return hs}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),b.off(document,os),b.on(document,rs,t=>this._handleFocusin(t)),b.on(document,as,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,b.off(document,os))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const s=z.focusableChildren(e);0===s.length?e.focus():this._lastTabNavDirection===ls?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?ls:"forward")}}const ds=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",gs=".sticky-top",_s="padding-right",ms="margin-right";class fs{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,_s,e=>e+t),this._setElementAttributes(ds,_s,e=>e+t),this._setElementAttributes(gs,ms,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,_s),this._resetElementAttributes(ds,_s),this._resetElementAttributes(gs,ms)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,s){const i=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${s(Number.parseFloat(n))}px`)})}_saveInitialAttribute(t,e){const s=t.style.getPropertyValue(e);s&&A.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const s=A.getDataAttribute(t,e);null!==s?(A.removeDataAttribute(t,e),t.style.setProperty(e,s)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(k(t))e(t);else for(const s of z.find(t,this._element))e(s)}}const ps=".bs.offcanvas",bs=".data-api",vs=`load${ps}${bs}`,ys="show",ws="showing",As="hiding",Cs=".offcanvas.show",Es=`show${ps}`,Ts=`shown${ps}`,Ss=`hide${ps}`,ks=`hidePrevented${ps}`,Ds=`hidden${ps}`,$s=`resize${ps}`,Ls=`click${ps}${bs}`,xs=`keydown.dismiss${ps}`,Is={backdrop:!0,keyboard:!0,scroll:!1},Os={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ms extends H{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Is}static get DefaultType(){return Os}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||b.trigger(this._element,Es,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new fs).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ws),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ys),this._element.classList.remove(ws),b.trigger(this._element,Ts,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(b.trigger(this._element,Ss).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(As),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(ys,As),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new fs).reset(),b.trigger(this._element,Ds)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new ns({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():b.trigger(this._element,ks)}:null})}_initializeFocusTrap(){return new us({trapElement:this._element})}_addEventListeners(){b.on(this._element,xs,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():b.trigger(this._element,ks))})}}b.on(document,Ls,'[data-bs-toggle="offcanvas"]',function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),L(this))return;b.one(e,Ds,()=>{$(this)&&this.focus()});const s=z.findOne(Cs);s&&s!==e&&Ms.getInstance(s).hide(),Ms.getOrCreateInstance(e).toggle(this)}),b.on(window,vs,()=>{for(const t of z.find(Cs))Ms.getOrCreateInstance(t).show()}),b.on(window,$s,()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Ms.getOrCreateInstance(t).hide()}),W(Ms);const Ps=".bs.strength",Fs=`strengthChange${Ps}`,Ns=["weak","fair","good","strong"],js={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},Hs={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class qs extends H{constructor(t,e){super(t,e),this._input=this._getInput(),this._segments=z.find(".strength-segment",this._element),this._textElement=z.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return js}static get DefaultType(){return Hs}static get NAME(){return"strength"}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?z.findOne(this._config.input):this._config.input;const t=this._element.parentElement;return z.findOne('input[type="password"]',t)}_addEventListeners(){b.on(this._input,"input",()=>this._evaluate()),b.on(this._input,"change",()=>this._evaluate())}_evaluate(){const t=this._input.value,e=this._calculateScore(t),s=this._scoreToStrength(e);s!==this._currentStrength&&(this._currentStrength=s,this._updateUI(s,e),b.trigger(this._element,Fs,{strength:s,score:e,password:t.length>0?"***":""}))}_calculateScore(t){if(!t)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(t);const{weights:e}=this._config;let s=0;return t.length>=this._config.minLength&&(s+=e.minLength),t.length>=this._config.minLength+4&&(s+=e.extraLength),/[a-z]/.test(t)&&(s+=e.lowercase),/[A-Z]/.test(t)&&(s+=e.uppercase),/\d/.test(t)&&(s+=e.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(t)&&(s+=e.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(t)&&(s+=e.multipleSpecial),t.length>=16&&(s+=e.longPassword),s}_scoreToStrength(t){if(0===t)return null;const[e,s,i]=this._config.thresholds;return t<=e?"weak":t<=s?"fair":t<=i?"good":"strong"}_updateUI(t){t?this._element.dataset.bsStrength=t:delete this._element.dataset.bsStrength;const e=t?Ns.indexOf(t):-1;for(const[t,s]of this._segments.entries())t<=e?s.classList.add("active"):s.classList.remove("active");if(this._textElement)if(t&&this._config.messages[t]){this._textElement.textContent=this._config.messages[t],this._textElement.dataset.bsStrength=t;const e={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${e[t]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}b.on(document,`DOMContentLoaded${Ps}.data-api`,()=>{for(const t of z.find("[data-bs-strength]"))qs.getOrCreateInstance(t)});const zs=".bs.otp-input",Ws=`complete${zs}`,Rs=`input${zs}`,Bs={length:6,mask:!1},Us={length:"number",mask:"boolean"};class Vs extends H{constructor(t,e){super(t,e),this._inputs=z.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Bs}static get DefaultType(){return Us}static get NAME(){return"otpInput"}getValue(){return this._inputs.map(t=>t.value).join("")}setValue(t){const e=String(t).split("");for(const[t,s]of this._inputs.entries())s.value=e[t]||"";this._checkComplete()}clear(){for(const t of this._inputs)t.value="";this._inputs[0]?.focus()}focus(){const t=this._inputs.find(t=>!t.value);t?t.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const t of this._inputs)t.setAttribute("maxlength","1"),t.setAttribute("inputmode","numeric"),t.setAttribute("pattern","\\d*"),t===this._inputs[0]?t.setAttribute("autocomplete","one-time-code"):t.setAttribute("autocomplete","off"),this._config.mask&&t.setAttribute("type","password")}_addEventListeners(){for(const[t,e]of this._inputs.entries())b.on(e,"input",e=>this._handleInput(e,t)),b.on(e,"keydown",e=>this._handleKeydown(e,t)),b.on(e,"paste",t=>this._handlePaste(t)),b.on(e,"focus",t=>this._handleFocus(t))}_handleInput(t,e){const s=t.target;/^\d*$/.test(s.value)||(s.value=s.value.replace(/\D/g,""));const{value:i}=s;if(i.length>1){const t=i.split("");s.value=t[0]||"";for(let s=1;s<t.length&&e+s<this._inputs.length;s++)this._inputs[e+s].value=t[s];const n=Math.min(e+t.length,this._inputs.length-1);this._inputs[n].focus()}else i&&e<this._inputs.length-1&&this._inputs[e+1].focus();b.trigger(this._element,Rs,{value:this.getValue(),index:e}),this._checkComplete()}_handleKeydown(t,e){const{key:s}=t;switch(s){case"Backspace":!this._inputs[e].value&&e>0&&(t.preventDefault(),this._inputs[e-1].value="",this._inputs[e-1].focus());break;case"Delete":t.preventDefault();for(let t=e;t<this._inputs.length-1;t++)this._inputs[t].value=this._inputs[t+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":e>0&&(t.preventDefault(),this._inputs[e-1].focus());break;case"ArrowRight":e<this._inputs.length-1&&(t.preventDefault(),this._inputs[e+1].focus())}}_handlePaste(t){t.preventDefault();const e=(t.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(e){this.setValue(e);const t=Math.min(e.length,this._inputs.length)-1;this._inputs[t].focus()}}_handleFocus(t){t.target.select()}_checkComplete(){const t=this.getValue();t.length===this._inputs.length&&this._inputs.every(t=>""!==t.value)&&b.trigger(this._element,Ws,{value:t})}}b.on(document,`DOMContentLoaded${zs}.data-api`,()=>{for(const t of z.find("[data-bs-otp]"))Vs.getOrCreateInstance(t)});const Ks={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Qs=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Xs=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Ys=(t,e)=>{const s=t.nodeName.toLowerCase();return e.includes(s)?!Qs.has(s)||Boolean(Xs.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(s))},Gs={allowList:Ks,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Zs={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Js={entry:"(string|element|function|null)",selector:"(string|element)"};class ti extends j{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Gs}static get DefaultType(){return Zs}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,s]of Object.entries(this._config.content))this._setContent(t,s,e);const e=t.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&e.classList.add(...s.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,s]of Object.entries(t))super._typeCheckConfig({selector:e,entry:s},Js)}_setContent(t,e,s){const i=z.findOne(s,t);i&&((e=this._resolvePossibleFunction(e))?k(e)?this._putElementInTemplate(D(e),i):this._config.html?i.innerHTML=this._maybeSanitize(e):i.textContent=e:i.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,s){if(!t.length)return t;if(s&&"function"==typeof s)return s(t);const i=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...i.body.querySelectorAll("*"));for(const t of n){const s=t.nodeName.toLowerCase();if(!Object.keys(e).includes(s)){t.remove();continue}const i=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[s]||[]);for(const e of i)Ys(e,n)||t.removeAttribute(e.nodeName)}return i.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return P(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const ei=new Set(["sanitize","allowList","sanitizeFn"]),si="fade",ii="show",ni=".tooltip-inner",oi=".modal",ri='[data-bs-toggle="tooltip"]',ai="hide.bs.modal",li="hover",ci="focus",hi="click",ui="focusin",di="mouseenter",gi={AUTO:"auto",TOP:"top",RIGHT:M()?"left":"right",BOTTOM:"bottom",LEFT:M()?"right":"left"},_i={allowList:Ks,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},mi={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class fi extends H{constructor(t,s){if(void 0===e.computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(t,s),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return _i}static get DefaultType(){return mi}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),b.off(this._element.closest(oi),ai,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=b.trigger(this._element,this.constructor.eventName("show")),e=(x(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposeFloating();const s=this._getTipElement();this._element.setAttribute("aria-describedby",s.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),b.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(s),s.classList.add(ii),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))b.on(t,"mouseover",I);this._queueCallback(()=>{b.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!b.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ii),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))b.off(t,"mouseover",I);this._activeTrigger[hi]=!1,this._activeTrigger[ci]=!1,this._activeTrigger[li]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),b.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(si,ii),e.classList.add(`bs-${this.constructor.NAME}-auto`);const s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",s),this._isAnimated()&&e.classList.add(si),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new ti({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[ni]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(si)}_isShown(){return this.tip&&this.tip.classList.contains(ii)}_getPlacement(t){if(this._responsivePlacements){const t=ve(this._responsivePlacements,"top");return gi[t.toUpperCase()]||t}const e=P(this._config.placement,[this,t,this._element]);return gi[e.toUpperCase()]||e}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=be(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=ye(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){we(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(t){const s=this._getPlacement(t),i=t.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(t,s,i),this._floatingCleanup=e.autoUpdate(this._element,t,()=>this._updateFloatingPosition(t,null,i))}async _updateFloatingPosition(t=this.tip,s=null,i=null){if(!t)return;s||(s=this._getPlacement(t)),i||(i=t.querySelector(`.${this.constructor.NAME}-arrow`));const n=this._getFloatingMiddleware(i),o=this._getFloatingConfig(s,n),{x:r,y:a,placement:l,middlewareData:c}=await e.computePosition(this._element,t,o);if(Object.assign(t.style,{position:"absolute",left:`${r}px`,top:`${a}px`}),i&&(i.style.position="absolute"),A.setDataAttribute(t,"placement",l),i&&c.arrow){const{x:t,y:e}=c.arrow,s=l.startsWith("top")||l.startsWith("bottom");Object.assign(i.style,{left:s&&null!==t?`${t}px`:"",top:s||null===e?"":`${e}px`,right:"",bottom:""})}}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?({placement:e,rects:s})=>t({placement:e,reference:s.reference,floating:s.floating},this._element):t}_resolvePossibleFunction(t){return P(t,[this._element,this._element])}_getFloatingMiddleware(t){const s=this._getOffset(),i=[e.offset("function"==typeof s?s:{mainAxis:s[1]||0,crossAxis:s[0]||0}),e.flip({fallbackPlacements:this._config.fallbackPlacements}),e.shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return t&&i.push(e.arrow({element:t})),i}_getFloatingConfig(t,e){const s={placement:t,middleware:e};return{...s,...P(this._config.floatingConfig,[void 0,s])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)b.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[hi]=!(e._isShown()&&e._activeTrigger[hi]),e.toggle()});else if("manual"!==e){const t=e===li?this.constructor.eventName(di):this.constructor.eventName(ui),s=e===li?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");b.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?ci:li]=!0,e._enter()}),b.on(this._element,s,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?ci:li]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},b.on(this._element.closest(oi),ai,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=A.getDataAttributes(this._element);for(const t of Object.keys(e))ei.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:D(t.container),"number"==typeof 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()),t}_getDelegateConfig(){const t={};for(const[e,s]of Object.entries(this._config))this.constructor.Default[e]!==s&&(t[e]=s);return t.selector=!1,t.trigger="manual",t}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const pi=t=>{const e=t.target.closest(ri);if(!e)return;const s=fi.getOrCreateInstance(e);"focusin"===t.type&&(s._activeTrigger.focus=!0,s._enter())};b.on(document,ui,ri,pi),b.on(document,di,ri,pi);const bi=".popover-header",vi=".popover-body",yi='[data-bs-toggle="popover"]',wi={...fi.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},Ai={...fi.DefaultType,content:"(null|string|element|function)"};class Ci extends fi{static get Default(){return wi}static get DefaultType(){return Ai}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[bi]:this._getTitle(),[vi]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const Ei=t=>{const e=t.target.closest(yi);if(!e)return;"click"===t.type&&t.preventDefault();const s=Ci.getOrCreateInstance(e);"click"===t.type?s.toggle():"focusin"===t.type&&(s._activeTrigger.focus=!0,s._enter())};b.on(document,"click",yi,Ei),b.on(document,"focusin",yi,Ei),b.on(document,"mouseenter",yi,Ei);const Ti=".bs.scrollspy",Si=`activate${Ti}`,ki=`click${Ti}`,Di=`load${Ti}.data-api`,$i="active",Li="[href]",xi=".nav-link",Ii=`${xi}, .nav-item > ${xi}, .list-group-item`,Oi={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Mi={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Pi extends H{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Oi}static get DefaultType(){return Mi}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=D(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(b.off(this._config.target,ki),b.on(this._config.target,ki,Li,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const s=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(s.scrollTo)return void s.scrollTo({top:i,behavior:"smooth"});s.scrollTop=i}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),s=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},i=(this._rootElement||document.documentElement).scrollTop,n=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(s(o),!i)return}else n||t||s(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(Li,this._config.target);for(const e of t){if(!e.hash||L(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);$(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add($i),this._activateParents(t),b.trigger(this._element,Si,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add($i);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,Ii))t.classList.add($i)}_clearActiveClass(t){t.classList.remove($i);const e=z.find(`${Li}.${$i}`,t);for(const t of e)t.classList.remove($i)}}b.on(window,Di,()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Pi.getOrCreateInstance(t)});const Fi=".bs.tab",Ni=`hide${Fi}`,ji=`hidden${Fi}`,Hi=`show${Fi}`,qi=`shown${Fi}`,zi=`click${Fi}`,Wi=`keydown${Fi}`,Ri=`load${Fi}`,Bi="ArrowLeft",Ui="ArrowRight",Vi="ArrowUp",Ki="ArrowDown",Qi="Home",Xi="End",Yi="active",Gi="fade",Zi="show",Ji=".dropdown-toggle",tn=`:not(${Ji})`,en='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',sn=`.nav-link${tn}, .list-group-item${tn}, [role="tab"]${tn}, ${en}`,nn=`.${Yi}[data-bs-toggle="tab"], .${Yi}[data-bs-toggle="pill"], .${Yi}[data-bs-toggle="list"]`;class on extends H{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),b.on(this._element,Wi,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),s=e?b.trigger(e,Ni,{relatedTarget:t}):null;b.trigger(t,Hi,{relatedTarget:e}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Yi),this._activate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),b.trigger(t,qi,{relatedTarget:e})):t.classList.add(Zi)},t,t.classList.contains(Gi)))}_deactivate(t,e){t&&(t.classList.remove(Yi),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),b.trigger(t,ji,{relatedTarget:e})):t.classList.remove(Zi)},t,t.classList.contains(Gi)))}_keydown(t){if(![Bi,Ui,Vi,Ki,Qi,Xi].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!L(t));let s;if([Qi,Xi].includes(t.key))s=e[t.key===Qi?0:e.length-1];else{const i=[Ui,Ki].includes(t.key);s=N(e,t.target,i,!0)}s&&(s.focus({preventScroll:!0}),on.getOrCreateInstance(s).show())}_getChildren(){return z.find(sn,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),s=this._getOuterElement(t);t.setAttribute("aria-selected",e),s!==t&&this._setAttributeIfNotExists(s,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const s=this._getOuterElement(t);if(!s.classList.contains("dropdown"))return;const i=(t,i)=>{const n=z.findOne(t,s);n&&n.classList.toggle(i,e)};i(Ji,Yi),i(".dropdown-menu",Zi),s.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,s){t.hasAttribute(e)||t.setAttribute(e,s)}_elemIsActive(t){return t.classList.contains(Yi)}_getInnerElement(t){return t.matches(sn)?t:z.findOne(sn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}}b.on(document,zi,en,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),L(this)||on.getOrCreateInstance(this).show()}),b.on(window,Ri,()=>{for(const t of z.find(nn))on.getOrCreateInstance(t)});const rn=".bs.toast",an=`mouseover${rn}`,ln=`mouseout${rn}`,cn=`focusin${rn}`,hn=`focusout${rn}`,un=`hide${rn}`,dn=`hidden${rn}`,gn=`show${rn}`,_n=`shown${rn}`,mn="hide",fn="show",pn="showing",bn={animation:"boolean",autohide:"boolean",delay:"number"},vn={animation:!0,autohide:!0,delay:5e3};class yn extends H{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return vn}static get DefaultType(){return bn}static get NAME(){return"toast"}show(){b.trigger(this._element,gn).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(mn),O(this._element),this._element.classList.add(fn,pn),this._queueCallback(()=>{this._element.classList.remove(pn),b.trigger(this._element,_n),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(b.trigger(this._element,un).defaultPrevented||(this._element.classList.add(pn),this._queueCallback(()=>{this._element.classList.add(mn),this._element.classList.remove(pn,fn),b.trigger(this._element,dn)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(fn),super.dispose()}isShown(){return this._element.classList.contains(fn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){b.on(this._element,an,t=>this._onInteraction(t,!0)),b.on(this._element,ln,t=>this._onInteraction(t,!1)),b.on(this._element,cn,t=>this._onInteraction(t,!0)),b.on(this._element,hn,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}W(yn);const wn=".bs.toggler",An=`toggle${wn}`,Cn=`toggled${wn}`,En={attribute:"string",value:"(string|number|boolean)"},Tn={attribute:"class",value:null};class Sn extends H{static get Default(){return Tn}static get DefaultType(){return En}static get NAME(){return"toggler"}toggle(){b.trigger(this._element,An).defaultPrevented||(this._execute(),b.trigger(this._element,Cn))}_execute(){const{attribute:t,value:e}=this._config;"id"!==t&&("class"!==t?this._element.getAttribute(t)!==String(e)?this._element.setAttribute(t,e):this._element.removeAttribute(t):this._element.classList.toggle(e))}}return((t,e,s,i,n=null)=>{R(`${"click"}.${t.NAME}`,s,e=>{const s=e.targets.filter(Boolean).map(e=>t.getOrCreateInstance(e));"function"==typeof n&&n({...e,instances:s});for(const t of s)t[i]()})})(Sn,0,'[data-bs-toggle="toggler"]',"toggle"),{Alert:K,Button:X,Carousel:$t,Collapse:Rt,Datepicker:se,Dialog:fe,Dropdown:Ze,Offcanvas:Ms,Strength:qs,OtpInput:Vs,Popover:Ci,ScrollSpy:Pi,Tab:on,Toast:yn,Toggler:Sn,Tooltip:fi}});
 //# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
index 5b14d632f09351c574d2a7492518b0a2ec3beeb9..b4ef4ca188963871bee1454ff78805e3ab55aca3 100644 (file)
@@ -1 +1 @@
-{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","handler","delegationFunction","isDelegated","typeEvent","replace","addHandler","oneOff","wrapFunction","fn","relatedTarget","delegateTarget","contains","call","this","handlers","previousFunction","selector","domElements","querySelectorAll","target","parentNode","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","triggerTransitionEnd","isElement","nodeType","getElement","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","EVENT_CLOSE","EVENT_CLOSED","Alert","close","defaultPrevented","_destroyElement","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","focus","currentDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","DEFAULT_PLACEMENT","autoClose","boundary","display","offset","floatingConfig","reference","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_menu","_parseResponsivePlacements","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","referenceElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","assign","position","left","top","margin","_setupMediaQueryListeners","_getOffset","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","right","defaultConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","allowList","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","SELECTOR_DROPDOWN_TOGGLE","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Tooltip\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","handler","delegationFunction","isDelegated","typeEvent","replace","addHandler","oneOff","wrapFunction","fn","relatedTarget","delegateTarget","contains","call","this","handlers","previousFunction","selector","domElements","querySelectorAll","target","parentNode","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","triggerTransitionEnd","isElement","nodeType","getElement","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventAction","onEvent","stringSelector","targets","EVENT_CLOSE","EVENT_CLOSED","Alert","close","defaultPrevented","_destroyElement","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","dateStr","year","month","day","Date","_formatDate","date","undefined","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","formatted","String","padStart","getDate","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","focus","currentDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","digits","clipboardData","getData","lastIndex","select","every","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","allowList","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","SELECTOR_DROPDOWN_TOGGLE","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute","eventActionOnPlugin","Plugin","data","instances"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  // TODO: tooltip passes `false` instead of selector, so we need to check\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)', // TODO:v6 remove boolean support\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      // TODO: change tests that use empty divs to avoid this check\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
index c19151dccf62618b2d2ccca096dcaa466cb5be83..b60ddb9b4d12e42a201538df035abe82df7a3edf 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap alert.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index af3c00b21ce5bf9f978693ef79a99df3d38afcee..cc767c78af923b653305426549706db953132f5b 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap base-component.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index d2469449844da3c61f65969a6c057cbd80b939cc..406c1682a64444cc99f4588df33e16449c580af7 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap button.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 1b99bdc166daa311d7d2110a3eaf110b15e504ab..8327068bdad4c6c5543ca7626b600236e61d1198 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap carousel.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 2754b59f63f3e43a5e87bee29e46ce3693823132..eeeb5a77a9fed04d516afa024846ae92d38e1c83 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap collapse.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
diff --git a/js/dist/datepicker.js b/js/dist/datepicker.js
new file mode 100644 (file)
index 0000000..79947d6
--- /dev/null
@@ -0,0 +1,443 @@
+/*!
+  * Bootstrap datepicker.js v5.3.8 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vanilla-calendar-pro'), require('./base-component.js'), require('./dom/event-handler.js'), require('./util/index.js')) :
+  typeof define === 'function' && define.amd ? define(['vanilla-calendar-pro', './base-component', './dom/event-handler', './util/index'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Datepicker = factory(global["vanilla-calendar-pro"], global.BaseComponent, global.EventHandler, global.Index));
+})(this, (function (vanillaCalendarPro, BaseComponent, EventHandler, index_js) { 'use strict';
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap datepicker.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'datepicker';
+  const DATA_KEY = 'bs.datepicker';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const DATA_API_KEY = '.data-api';
+  const EVENT_CHANGE = `change${EVENT_KEY}`;
+  const EVENT_SHOW = `show${EVENT_KEY}`;
+  const EVENT_SHOWN = `shown${EVENT_KEY}`;
+  const EVENT_HIDE = `hide${EVENT_KEY}`;
+  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
+  const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
+  const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`;
+  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="datepicker"]';
+  const HIDE_DELAY = 100; // ms delay before hiding after selection
+
+  const Default = {
+    datepickerTheme: null,
+    // 'light', 'dark', 'auto' - explicit theme for datepicker popover only
+    dateMin: null,
+    dateMax: null,
+    dateFormat: null,
+    // Intl.DateTimeFormat options, or function(date, locale) => string
+    displayElement: null,
+    // Element to show formatted date (defaults to element for buttons)
+    displayMonthsCount: 1,
+    // Number of months to display side-by-side
+    firstWeekday: 1,
+    // Monday
+    inline: false,
+    // Render calendar inline (no popup)
+    locale: 'default',
+    positionElement: null,
+    // Element to position calendar relative to (defaults to input)
+    selectedDates: [],
+    selectionMode: 'single',
+    // 'single', 'multiple', 'multiple-ranged'
+    placement: 'left',
+    // 'left', 'center', 'right', 'auto'
+    vcpOptions: {} // Pass-through for any VCP option
+  };
+  const DefaultType = {
+    datepickerTheme: '(null|string)',
+    dateMin: '(null|string|number|object)',
+    dateMax: '(null|string|number|object)',
+    dateFormat: '(null|object|function)',
+    displayElement: '(null|string|element|boolean)',
+    displayMonthsCount: 'number',
+    firstWeekday: 'number',
+    inline: 'boolean',
+    locale: 'string',
+    positionElement: '(null|string|element)',
+    selectedDates: 'array',
+    selectionMode: 'string',
+    placement: 'string',
+    vcpOptions: 'object'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Datepicker extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._calendar = null;
+      this._isShown = false;
+      this._initCalendar();
+    }
+
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    toggle() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      return this._isShown ? this.hide() : this.show();
+    }
+    show() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || index_js.isDisabled(this._element) || this._isShown) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.show();
+      this._isShown = true;
+      EventHandler.trigger(this._element, EVENT_SHOWN);
+    }
+    hide() {
+      if (this._config.inline) {
+        return; // Inline calendars are always visible
+      }
+      if (!this._calendar || !this._isShown) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._calendar.hide();
+      this._isShown = false;
+      EventHandler.trigger(this._element, EVENT_HIDDEN);
+    }
+    dispose() {
+      if (this._themeObserver) {
+        this._themeObserver.disconnect();
+        this._themeObserver = null;
+      }
+      if (this._calendar) {
+        this._calendar.destroy();
+      }
+      this._calendar = null;
+      super.dispose();
+    }
+    getSelectedDates() {
+      const dates = this._calendar?.context?.selectedDates;
+      return dates ? [...dates] : [];
+    }
+    setSelectedDates(dates) {
+      if (this._calendar) {
+        this._calendar.set({
+          selectedDates: dates
+        });
+      }
+    }
+
+    // Private
+    _initCalendar() {
+      this._isInput = this._element.tagName === 'INPUT';
+      this._isInline = this._config.inline;
+
+      // For inline mode, look for a hidden input child to bind to
+      if (this._isInline && !this._isInput) {
+        this._boundInput = this._element.querySelector('input[type="hidden"], input[name]');
+      }
+      this._positionElement = this._resolvePositionElement();
+      this._displayElement = this._resolveDisplayElement();
+      const calendarOptions = this._buildCalendarOptions();
+
+      // Create calendar on the position element (for correct popup positioning)
+      // but value updates still go to this._element (the input)
+      this._calendar = new vanillaCalendarPro.Calendar(this._positionElement, calendarOptions);
+      this._calendar.init();
+
+      // Watch for theme changes on ancestor elements (for live theme switching)
+      this._setupThemeObserver();
+
+      // Set initial value if input has a value
+      if (this._isInput && this._element.value) {
+        this._parseInputValue();
+      }
+
+      // Populate input/display with preselected dates
+      this._updateDisplayWithSelectedDates();
+    }
+    _updateDisplayWithSelectedDates() {
+      const {
+        selectedDates
+      } = this._config;
+      if (!selectedDates || selectedDates.length === 0) {
+        return;
+      }
+      const formattedDate = this._formatDateForInput(selectedDates);
+      if (this._isInput) {
+        this._element.value = formattedDate;
+      }
+      if (this._boundInput) {
+        this._boundInput.value = selectedDates.join(',');
+      }
+      if (this._displayElement) {
+        this._displayElement.textContent = formattedDate;
+      }
+    }
+    _resolvePositionElement() {
+      let {
+        positionElement
+      } = this._config;
+      if (typeof positionElement === 'string') {
+        positionElement = document.querySelector(positionElement);
+      }
+
+      // Use input's parent if in form-adorn
+      if (!positionElement && this._isInput && !this._isInline) {
+        const parent = this._element.closest('.form-adorn');
+        if (parent) {
+          positionElement = parent;
+        }
+      }
+      return positionElement || this._element;
+    }
+    _resolveDisplayElement() {
+      const {
+        displayElement
+      } = this._config;
+      if (typeof displayElement === 'string') {
+        return document.querySelector(displayElement);
+      }
+
+      // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child
+      if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) {
+        const displayChild = this._element.querySelector('[data-bs-datepicker-display]');
+        return displayChild || this._element;
+      }
+      return displayElement;
+    }
+    _getThemeAncestor() {
+      return this._element.closest('[data-bs-theme]');
+    }
+    _getEffectiveTheme() {
+      // Priority: explicit datepickerTheme config > inherited from ancestor > none
+      const {
+        datepickerTheme
+      } = this._config;
+      if (datepickerTheme) {
+        return datepickerTheme;
+      }
+      const ancestor = this._getThemeAncestor();
+      return ancestor?.getAttribute('data-bs-theme') || null;
+    }
+    _syncThemeAttribute(element) {
+      if (!element) {
+        return;
+      }
+      const theme = this._getEffectiveTheme();
+      if (theme) {
+        // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)
+        element.setAttribute('data-bs-theme', theme);
+      } else {
+        // No theme - remove attribute to allow natural inheritance
+        element.removeAttribute('data-bs-theme');
+      }
+    }
+    _setupThemeObserver() {
+      // Watch for theme changes on ancestor elements
+      const ancestor = this._getThemeAncestor();
+      if (!ancestor || this._config.datepickerTheme) {
+        // No ancestor to watch, or explicit datepickerTheme overrides
+        return;
+      }
+      this._themeObserver = new MutationObserver(() => {
+        this._syncThemeAttribute(this._calendar?.context?.mainElement);
+      });
+      this._themeObserver.observe(ancestor, {
+        attributes: true,
+        attributeFilter: ['data-bs-theme']
+      });
+    }
+    _buildCalendarOptions() {
+      // Get theme for VCP - use 'system' for auto-detection if no explicit theme
+      const theme = this._getEffectiveTheme();
+      // VCP uses 'system' for auto, Bootstrap uses 'auto'
+      const vcpTheme = !theme || theme === 'auto' ? 'system' : theme;
+      const calendarOptions = {
+        ...this._config.vcpOptions,
+        inputMode: !this._isInline,
+        positionToInput: this._config.placement,
+        firstWeekday: this._config.firstWeekday,
+        locale: this._config.locale,
+        selectionDatesMode: this._config.selectionMode,
+        selectedDates: this._config.selectedDates,
+        displayMonthsCount: this._config.displayMonthsCount,
+        type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',
+        selectedTheme: vcpTheme,
+        themeAttrDetect: '[data-bs-theme]',
+        onClickDate: (self, event) => this._handleDateClick(self, event),
+        onInit: self => {
+          this._syncThemeAttribute(self.context.mainElement);
+        },
+        onShow: () => {
+          this._isShown = true;
+          this._syncThemeAttribute(this._calendar.context.mainElement);
+        },
+        onHide: () => {
+          this._isShown = false;
+        }
+      };
+
+      // Navigate to the month of the first selected date
+      if (this._config.selectedDates.length > 0) {
+        const firstDate = this._parseDate(this._config.selectedDates[0]);
+        calendarOptions.selectedMonth = firstDate.getMonth();
+        calendarOptions.selectedYear = firstDate.getFullYear();
+      }
+      if (this._config.dateMin) {
+        calendarOptions.dateMin = this._config.dateMin;
+      }
+      if (this._config.dateMax) {
+        calendarOptions.dateMax = this._config.dateMax;
+      }
+      return calendarOptions;
+    }
+    _handleDateClick(self, event) {
+      const selectedDates = [...self.context.selectedDates];
+      if (selectedDates.length > 0) {
+        const formattedDate = this._formatDateForInput(selectedDates);
+        if (this._isInput) {
+          this._element.value = formattedDate;
+        }
+        if (this._boundInput) {
+          this._boundInput.value = selectedDates.join(',');
+        }
+        if (this._displayElement) {
+          this._displayElement.textContent = formattedDate;
+        }
+      }
+      EventHandler.trigger(this._element, EVENT_CHANGE, {
+        dates: selectedDates,
+        event
+      });
+      this._maybeHideAfterSelection(selectedDates);
+    }
+    _maybeHideAfterSelection(selectedDates) {
+      if (this._isInline) {
+        return;
+      }
+      const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2;
+      if (shouldHide) {
+        setTimeout(() => this.hide(), HIDE_DELAY);
+      }
+    }
+    _parseDate(dateStr) {
+      const [year, month, day] = dateStr.split('-');
+      return new Date(year, month - 1, day);
+    }
+    _formatDate(dateStr) {
+      const date = this._parseDate(dateStr);
+      const locale = this._config.locale === 'default' ? undefined : this._config.locale;
+      const {
+        dateFormat
+      } = this._config;
+
+      // Custom function formatter
+      if (typeof dateFormat === 'function') {
+        return dateFormat(date, locale);
+      }
+
+      // Intl.DateTimeFormat options object
+      if (dateFormat && typeof dateFormat === 'object') {
+        return new Intl.DateTimeFormat(locale, dateFormat).format(date);
+      }
+
+      // Default: locale-aware formatting
+      return date.toLocaleDateString(locale);
+    }
+    _formatDateForInput(dates) {
+      if (dates.length === 0) {
+        return '';
+      }
+      if (dates.length === 1) {
+        return this._formatDate(dates[0]);
+      }
+
+      // For date ranges, use en-dash; for multiple dates, use comma
+      const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', ';
+      return dates.map(d => this._formatDate(d)).join(separator);
+    }
+    _parseInputValue() {
+      // Try to parse the input value as a date
+      const value = this._element.value.trim();
+      if (!value) {
+        return;
+      }
+      const date = new Date(value);
+      if (!Number.isNaN(date.getTime())) {
+        const year = date.getFullYear();
+        const month = String(date.getMonth() + 1).padStart(2, '0');
+        const day = String(date.getDate()).padStart(2, '0');
+        const formatted = `${year}-${month}-${day}`;
+        this._calendar.set({
+          selectedDates: [formatted]
+        });
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+    // Only handle if not an input (inputs use focus)
+    // Skip inline datepickers (they're always visible)
+    if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {
+      return;
+    }
+    event.preventDefault();
+    Datepicker.getOrCreateInstance(this).toggle();
+  });
+  EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {
+    // Handle focus for input elements
+    if (this.tagName !== 'INPUT') {
+      return;
+    }
+    Datepicker.getOrCreateInstance(this).show();
+  });
+
+  // Auto-initialize inline datepickers on DOMContentLoaded
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {
+    for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline="true"]`)) {
+      Datepicker.getOrCreateInstance(element);
+    }
+  });
+
+  return Datepicker;
+
+}));
+//# sourceMappingURL=datepicker.js.map
diff --git a/js/dist/datepicker.js.map b/js/dist/datepicker.js.map
new file mode 100644 (file)
index 0000000..7f0c462
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"datepicker.js","sources":["../src/datepicker.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' â€“ ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_CHANGE","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","EVENT_FOCUSIN_DATA_API","SELECTOR_DATA_TOGGLE","HIDE_DELAY","Default","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","DefaultType","Datepicker","BaseComponent","constructor","element","config","_calendar","_isShown","_initCalendar","toggle","_config","hide","show","isDisabled","_element","showEvent","EventHandler","trigger","defaultPrevented","hideEvent","dispose","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","set","_isInput","tagName","_isInline","_boundInput","querySelector","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","value","_parseInputValue","_updateDisplayWithSelectedDates","length","formattedDate","_formatDateForInput","join","textContent","document","parent","closest","displayChild","_getThemeAncestor","_getEffectiveTheme","ancestor","getAttribute","_syncThemeAttribute","theme","setAttribute","removeAttribute","MutationObserver","mainElement","observe","attributes","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","type","selectedTheme","themeAttrDetect","onClickDate","self","event","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","setTimeout","dateStr","year","month","day","split","Date","_formatDate","date","undefined","Intl","DateTimeFormat","format","toLocaleDateString","separator","map","d","trim","Number","isNaN","getTime","String","padStart","getDate","formatted","on","dataset","bsInline","preventDefault","getOrCreateInstance","querySelectorAll"],"mappings":"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"}
\ No newline at end of file
index a2b8808aacc3218be41723e3f2aca15ef4655103..1d0666699c779c70773653b34ec1dddec731be01 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap dialog.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 2be18e6e0c8bd24b6a955fd62243d575cb7e0653..ab9772f6421bde192393f832cfd4fd8d07fa5fe3 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap data.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index d50825a000ede640a475a42abfc11e45d6cfa48f..35fb9d6455a35190bacad6d8d478e9970d0fa107 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap event-handler.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index f5c11c0eb8794a138f249dea3bd14b696a38a99f..75047c2bade50f83636abf580bfd111f57cf6b03 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap manipulator.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 9b74fedd6ebe03c9f40f674448cabe6c19d94966..ea170f2bfceeca758cc9be5061316cfe09e7a258 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap selector-engine.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 0b80c5246203441498e0a4582fc8cf2c73fe70e1..4ef75cb262ef50231ee9c65b5b7ce3451baf7b37 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap dropdown.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
   const TAB_KEY = 'Tab';
   const ARROW_UP_KEY = 'ArrowUp';
   const ARROW_DOWN_KEY = 'ArrowDown';
-  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
+  const ARROW_LEFT_KEY = 'ArrowLeft';
+  const ARROW_RIGHT_KEY = 'ArrowRight';
+  const HOME_KEY = 'Home';
+  const END_KEY = 'End';
+  const ENTER_KEY = 'Enter';
+  const SPACE_KEY = ' ';
+  const RIGHT_MOUSE_BUTTON = 2;
 
+  // Hover intent delay (ms) - grace period before closing submenu
+  const SUBMENU_CLOSE_DELAY = 100;
   const EVENT_HIDE = `hide${EVENT_KEY}`;
   const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
   const EVENT_SHOW = `show${EVENT_KEY}`;
   const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
   const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`;
   const SELECTOR_MENU = '.dropdown-menu';
+  const SELECTOR_SUBMENU = '.dropdown-submenu';
+  const SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item';
   const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+  const SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)';
 
-  // Default placement with RTL support
-  const DEFAULT_PLACEMENT = index_js.isRTL() ? 'bottom-end' : 'bottom-start';
+  // Default logical placement (uses start/end which get resolved to left/right based on RTL)
+  const DEFAULT_PLACEMENT = 'bottom-start';
+  const SUBMENU_PLACEMENT = 'end-start';
+
+  // Resolve logical placement (start/end) to physical (left/right) based on RTL
+  const resolveLogicalPlacement = placement => {
+    if (index_js.isRTL()) {
+      // RTL: start â†’ right, end â†’ left
+      return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left');
+    }
+
+    // LTR: start â†’ left, end â†’ right
+    return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right');
+  };
+
+  // Helper for barycentric coordinate calculation (point in triangle check)
+  const triangleSign = (p1, p2, p3) => (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);
   const Default = {
     autoClose: true,
     boundary: 'clippingParents',
     offset: [0, 2],
     floatingConfig: null,
     placement: DEFAULT_PLACEMENT,
-    reference: 'toggle'
+    reference: 'toggle',
+    // Submenu options
+    submenuTrigger: 'both',
+    // 'click', 'hover', or 'both'
+    submenuDelay: SUBMENU_CLOSE_DELAY
   };
   const DefaultType = {
     autoClose: '(boolean|string)',
@@ -63,7 +92,9 @@
     offset: '(array|string|function)',
     floatingConfig: '(null|object|function)',
     placement: 'string',
-    reference: '(string|element|object)'
+    reference: '(string|element|object)',
+    submenuTrigger: 'string',
+    submenuDelay: 'number'
   };
 
   /**
       this._mediaQueryListeners = [];
       this._responsivePlacements = null;
       this._parent = this._element.parentNode; // dropdown wrapper
+      this._isSubmenu = this._parent.classList.contains('dropdown-submenu');
+      this._openSubmenus = new Map(); // Map of submenu element -> cleanup function
+      this._submenuCloseTimeouts = new Map(); // Map of submenu element -> timeout ID
+      this._hoverIntentData = null; // For safe triangle calculation
+
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
       this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
 
       // Parse responsive placements on init
       this._parseResponsivePlacements();
+
+      // Set up submenu event listeners
+      this._setupSubmenuListeners();
     }
 
     // Getters
         }
       }
       this._element.focus();
-      this._element.setAttribute('aria-expanded', true);
+      this._element.setAttribute('aria-expanded', 'true');
       this._menu.classList.add(CLASS_NAME_SHOW);
       this._element.classList.add(CLASS_NAME_SHOW);
+      this._parent.classList.add(CLASS_NAME_SHOW);
       EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget);
     }
     hide() {
     dispose() {
       this._disposeFloating();
       this._disposeMediaQueryListeners();
+      this._closeAllSubmenus();
+      this._clearAllSubmenuTimeouts();
       super.dispose();
     }
     update() {
         return;
       }
 
+      // Close all open submenus first
+      this._closeAllSubmenus();
+
       // If this is a touch-enabled device we remove the extra
       // empty mouseover listeners we added for iOS support
       if ('ontouchstart' in document.documentElement) {
       this._disposeFloating();
       this._menu.classList.remove(CLASS_NAME_SHOW);
       this._element.classList.remove(CLASS_NAME_SHOW);
+      this._parent.classList.remove(CLASS_NAME_SHOW);
       this._element.setAttribute('aria-expanded', 'false');
       Manipulator.removeDataAttribute(this._menu, 'placement');
       Manipulator.removeDataAttribute(this._menu, 'display');
       this._floatingCleanup = dom.autoUpdate(referenceElement, this._menu, () => this._updateFloatingPosition(referenceElement));
     }
     async _updateFloatingPosition(referenceElement = null) {
-      // Check if menu exists and is still in the DOM
-      if (!this._menu || !this._menu.isConnected) {
+      if (!this._menu) {
         return;
       }
       if (!referenceElement) {
       const placement = this._getPlacement();
       const middleware = this._getFloatingMiddleware();
       const floatingConfig = this._getFloatingConfig(placement, middleware);
-      const {
-        x,
-        y,
-        placement: finalPlacement
-      } = await dom.computePosition(referenceElement, this._menu, floatingConfig);
-
-      // Menu may have been disposed during the async computePosition call
-      if (!this._menu || !this._menu.isConnected) {
-        return;
-      }
-
-      // Apply position to dropdown menu
-      Object.assign(this._menu.style, {
-        position: 'absolute',
-        left: `${x}px`,
-        top: `${y}px`,
-        margin: '0'
-      });
-
-      // Set placement attribute for CSS styling
-      Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement);
+      await this._applyFloatingPosition(referenceElement, this._menu, floatingConfig.placement, floatingConfig.middleware);
     }
     _isShown() {
       return this._menu.classList.contains(CLASS_NAME_SHOW);
     }
     _getPlacement() {
       // If we have responsive placements, find the appropriate one for current viewport
-      if (this._responsivePlacements) {
-        return floatingUi_js.getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT);
-      }
-      return this._config.placement;
+      const placement = this._responsivePlacements ? floatingUi_js.getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) : this._config.placement;
+
+      // Resolve logical placements (start/end) to physical (left/right) based on RTL
+      return resolveLogicalPlacement(placement);
     }
     _parseResponsivePlacements() {
       this._responsivePlacements = floatingUi_js.parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT);
     }
     _getOffset() {
       const {
-        offset
+        offset: offsetConfig
       } = this._config;
-      if (typeof offset === 'string') {
-        return offset.split(',').map(value => Number.parseInt(value, 10));
+      if (typeof offsetConfig === 'string') {
+        return offsetConfig.split(',').map(value => Number.parseInt(value, 10));
       }
-      if (typeof offset === 'function') {
+      if (typeof offsetConfig === 'function') {
         // Floating UI passes different args, adapt the interface for offset function callbacks
         return ({
           placement,
           rects
         }) => {
-          const result = offset({
+          const result = offsetConfig({
             placement,
             reference: rects.reference,
             floating: rects.floating
           return result;
         };
       }
-      return offset;
+      return offsetConfig;
     }
     _getFloatingMiddleware() {
       const offsetValue = this._getOffset();
         this._floatingCleanup = null;
       }
     }
+
+    // Shared helper for positioning any floating element
+    async _applyFloatingPosition(reference, floating, placement, middleware) {
+      if (!floating.isConnected) {
+        return null;
+      }
+      const {
+        x,
+        y,
+        placement: finalPlacement
+      } = await dom.computePosition(reference, floating, {
+        placement,
+        middleware
+      });
+      if (!floating.isConnected) {
+        return null;
+      }
+      Object.assign(floating.style, {
+        position: 'absolute',
+        left: `${x}px`,
+        top: `${y}px`,
+        margin: '0'
+      });
+      Manipulator.setDataAttribute(floating, 'placement', finalPlacement);
+      return finalPlacement;
+    }
+
+    // -------------------------------------------------------------------------
+    // Submenu handling
+    // -------------------------------------------------------------------------
+
+    _setupSubmenuListeners() {
+      // Set up hover listeners for submenu triggers
+      if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerEnter(event);
+        });
+        EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {
+          this._onSubmenuLeave(event);
+        });
+
+        // Track mouse movement for safe triangle calculation
+        EventHandler.on(this._menu, 'mousemove', event => {
+          this._trackMousePosition(event);
+        });
+      }
+
+      // Set up click listener for submenu triggers
+      if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {
+        EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {
+          this._onSubmenuTriggerClick(event);
+        });
+      }
+    }
+    _onSubmenuTriggerEnter(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Cancel any pending close timeout for this submenu
+      this._cancelSubmenuCloseTimeout(submenu);
+
+      // Close other open submenus at the same level
+      this._closeSiblingSubmenus(submenuWrapper);
+
+      // Open this submenu
+      this._openSubmenu(trigger, submenu, submenuWrapper);
+    }
+    _onSubmenuLeave(event) {
+      const submenuWrapper = event.target.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu || !this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Check if we're moving toward the submenu (safe triangle)
+      if (this._isMovingTowardSubmenu(event, submenu)) {
+        return;
+      }
+
+      // Schedule submenu close with delay
+      this._scheduleSubmenuClose(submenu, submenuWrapper);
+    }
+    _onSubmenuTriggerClick(event) {
+      const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE);
+      if (!trigger) {
+        return;
+      }
+      event.preventDefault();
+      event.stopPropagation();
+      const submenuWrapper = trigger.closest(SELECTOR_SUBMENU);
+      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+      if (!submenu) {
+        return;
+      }
+
+      // Toggle submenu
+      if (this._openSubmenus.has(submenu)) {
+        this._closeSubmenu(submenu, submenuWrapper);
+      } else {
+        this._closeSiblingSubmenus(submenuWrapper);
+        this._openSubmenu(trigger, submenu, submenuWrapper);
+      }
+    }
+    _openSubmenu(trigger, submenu, submenuWrapper) {
+      if (this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Set ARIA attributes
+      trigger.setAttribute('aria-expanded', 'true');
+      trigger.setAttribute('aria-haspopup', 'true');
+
+      // Position and show submenu
+      submenu.classList.add(CLASS_NAME_SHOW);
+      submenuWrapper.classList.add(CLASS_NAME_SHOW);
+
+      // Set up Floating UI positioning for submenu
+      const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper);
+      this._openSubmenus.set(submenu, cleanup);
+
+      // Set up mouseenter on submenu to cancel close timeout
+      EventHandler.on(submenu, 'mouseenter', () => {
+        this._cancelSubmenuCloseTimeout(submenu);
+      });
+    }
+    _closeSubmenu(submenu, submenuWrapper) {
+      if (!this._openSubmenus.has(submenu)) {
+        return;
+      }
+
+      // Close any nested submenus first
+      const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu);
+      for (const nested of nestedSubmenus) {
+        const nestedWrapper = nested.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(nested, nestedWrapper);
+      }
+
+      // Get the trigger
+      const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper);
+
+      // Clean up Floating UI
+      const cleanup = this._openSubmenus.get(submenu);
+      if (cleanup) {
+        cleanup();
+      }
+      this._openSubmenus.delete(submenu);
+
+      // Remove event listeners
+      EventHandler.off(submenu, 'mouseenter');
+
+      // Update ARIA and visibility
+      if (trigger) {
+        trigger.setAttribute('aria-expanded', 'false');
+      }
+      submenu.classList.remove(CLASS_NAME_SHOW);
+      submenuWrapper.classList.remove(CLASS_NAME_SHOW);
+
+      // Clear inline styles
+      submenu.style.position = '';
+      submenu.style.left = '';
+      submenu.style.top = '';
+      submenu.style.margin = '';
+    }
+    _closeAllSubmenus() {
+      for (const [submenu] of this._openSubmenus) {
+        const submenuWrapper = submenu.closest(SELECTOR_SUBMENU);
+        this._closeSubmenu(submenu, submenuWrapper);
+      }
+    }
+    _closeSiblingSubmenus(currentSubmenuWrapper) {
+      // Find all sibling submenu wrappers and close their menus
+      const parent = currentSubmenuWrapper.parentNode;
+      const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent);
+      for (const siblingMenu of siblingSubmenus) {
+        const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU);
+        if (siblingWrapper !== currentSubmenuWrapper) {
+          this._closeSubmenu(siblingMenu, siblingWrapper);
+        }
+      }
+    }
+    _createSubmenuFloating(trigger, submenu, submenuWrapper) {
+      const referenceElement = submenuWrapper;
+      const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT);
+      const middleware = [dom.offset({
+        mainAxis: 0,
+        crossAxis: -4
+      }), dom.flip({
+        fallbackPlacements: [resolveLogicalPlacement('start-start'), resolveLogicalPlacement('end-end'), resolveLogicalPlacement('start-end')]
+      }), dom.shift({
+        padding: 8
+      })];
+      const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware);
+      updatePosition();
+      return dom.autoUpdate(referenceElement, submenu, updatePosition);
+    }
+    _scheduleSubmenuClose(submenu, submenuWrapper) {
+      this._cancelSubmenuCloseTimeout(submenu);
+      const timeoutId = setTimeout(() => {
+        this._closeSubmenu(submenu, submenuWrapper);
+        this._submenuCloseTimeouts.delete(submenu);
+      }, this._config.submenuDelay);
+      this._submenuCloseTimeouts.set(submenu, timeoutId);
+    }
+    _cancelSubmenuCloseTimeout(submenu) {
+      const timeoutId = this._submenuCloseTimeouts.get(submenu);
+      if (timeoutId) {
+        clearTimeout(timeoutId);
+        this._submenuCloseTimeouts.delete(submenu);
+      }
+    }
+    _clearAllSubmenuTimeouts() {
+      for (const timeoutId of this._submenuCloseTimeouts.values()) {
+        clearTimeout(timeoutId);
+      }
+      this._submenuCloseTimeouts.clear();
+    }
+
+    // -------------------------------------------------------------------------
+    // Hover intent / Safe triangle
+    // -------------------------------------------------------------------------
+
+    _trackMousePosition(event) {
+      this._hoverIntentData = {
+        x: event.clientX,
+        y: event.clientY,
+        timestamp: Date.now()
+      };
+    }
+    _isMovingTowardSubmenu(event, submenu) {
+      if (!this._hoverIntentData) {
+        return false;
+      }
+      const submenuRect = submenu.getBoundingClientRect();
+      const currentPos = {
+        x: event.clientX,
+        y: event.clientY
+      };
+      const lastPos = {
+        x: this._hoverIntentData.x,
+        y: this._hoverIntentData.y
+      };
+
+      // Create a triangle from current position to submenu edges
+      // The triangle represents the "safe zone" for diagonal movement
+      const isRtl = index_js.isRTL();
+
+      // Determine which edge of the submenu to target based on direction
+      const targetX = isRtl ? submenuRect.right : submenuRect.left;
+      const topCorner = {
+        x: targetX,
+        y: submenuRect.top
+      };
+      const bottomCorner = {
+        x: targetX,
+        y: submenuRect.bottom
+      };
+
+      // Check if cursor is moving toward the submenu
+      // by checking if the current position is within the safe triangle
+      return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner);
+    }
+    _pointInTriangle(point, v1, v2, v3) {
+      // Barycentric coordinate method to check if point is inside triangle
+      const d1 = triangleSign(point, v1, v2);
+      const d2 = triangleSign(point, v2, v3);
+      const d3 = triangleSign(point, v3, v1);
+      const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
+      const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
+      return !(hasNeg && hasPos);
+    }
+
+    // -------------------------------------------------------------------------
+    // Keyboard navigation
+    // -------------------------------------------------------------------------
+
     _selectMenuItem({
       key,
       target
     }) {
-      const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => index_js.isVisible(element));
+      // Get items only from the current menu level (not nested submenus)
+      // If target is inside a menu, use that menu; otherwise use the main menu
+      const currentMenu = target.closest(SELECTOR_MENU) || this._menu;
+      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => index_js.isVisible(element));
       if (!items.length) {
         return;
       }
       // allow cycling to get the last item in case key equals ARROW_UP_KEY
       index_js.getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();
     }
+    _handleSubmenuKeydown(event) {
+      const {
+        key,
+        target
+      } = event;
+      const isRtl = index_js.isRTL();
+
+      // Determine the "enter submenu" and "exit submenu" keys based on RTL
+      const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY;
+      const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY;
+
+      // Check if target is a submenu trigger
+      const submenuWrapper = target.closest(SELECTOR_SUBMENU);
+      const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE);
+
+      // Handle Enter/Space on submenu trigger
+      if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Right arrow (or Left in RTL) - enter submenu
+      if (key === enterKey && isSubmenuTrigger) {
+        event.preventDefault();
+        event.stopPropagation();
+        const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper);
+        if (submenu) {
+          this._closeSiblingSubmenus(submenuWrapper);
+          this._openSubmenu(target, submenu, submenuWrapper);
+          // Focus first item in submenu
+          requestAnimationFrame(() => {
+            const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu);
+            if (firstItem) {
+              firstItem.focus();
+            }
+          });
+        }
+        return true;
+      }
+
+      // Handle Left arrow (or Right in RTL) - exit submenu
+      if (key === exitKey) {
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper) {
+          event.preventDefault();
+          event.stopPropagation();
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          this._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return true;
+        }
+      }
+
+      // Handle Home/End keys
+      if (key === HOME_KEY || key === END_KEY) {
+        event.preventDefault();
+        event.stopPropagation();
+        const currentMenu = target.closest(SELECTOR_MENU);
+        const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu).filter(element => index_js.isVisible(element));
+        if (items.length) {
+          const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1];
+          targetItem.focus();
+        }
+        return true;
+      }
+      return false;
+    }
     static clearMenus(event) {
       if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
         return;
       }
     }
     static dataApiKeydownHandler(event) {
-      // If not an UP | DOWN | ESCAPE key => not a dropdown command
-      // If input/textarea && if key is other than ESCAPE => not a dropdown command
-
+      // If not a relevant key => not a dropdown command
       const isInput = /input|textarea/i.test(event.target.tagName);
       const isEscapeEvent = event.key === ESCAPE_KEY;
       const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key);
-      if (!isUpOrDownEvent && !isEscapeEvent) {
+      const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key);
+      const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key);
+      const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key);
+
+      // Allow Enter/Space only on submenu triggers
+      const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE);
+      if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent && !(isEnterOrSpaceEvent && isSubmenuTrigger)) {
         return;
       }
       if (isInput && !isEscapeEvent) {
         return;
       }
-      event.preventDefault();
 
       // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
       const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
+      if (!getToggleButton) {
+        return;
+      }
       const instance = Dropdown.getOrCreateInstance(getToggleButton);
+
+      // Handle submenu navigation first
+      if ((isLeftOrRightEvent || isHomeOrEndEvent || isEnterOrSpaceEvent && isSubmenuTrigger) && instance._handleSubmenuKeydown(event)) {
+        return;
+      }
+
+      // Handle Up/Down navigation
       if (isUpOrDownEvent) {
+        event.preventDefault();
         event.stopPropagation();
         instance.show();
         instance._selectMenuItem(event);
         return;
       }
-      if (instance._isShown()) {
-        // else is escape and we check if it is shown
+
+      // Handle Escape
+      if (isEscapeEvent && instance._isShown()) {
+        event.preventDefault();
         event.stopPropagation();
+
+        // If in a submenu, close just that submenu
+        const currentMenu = event.target.closest(SELECTOR_MENU);
+        const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU);
+        if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {
+          const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper);
+          instance._closeSubmenu(currentMenu, parentSubmenuWrapper);
+          if (parentTrigger) {
+            parentTrigger.focus();
+          }
+          return;
+        }
+
+        // Otherwise close the whole dropdown
         instance.hide();
         getToggleButton.focus();
       }
index ee0669bd2ee2059d2c1ff95214952da2b6cbc485..430b36b93f9f426f197662d8ad8ee197bfc6de08 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\n// Default placement with RTL support\nconst DEFAULT_PLACEMENT = isRTL() ? 'bottom-end' : 'bottom-start'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    // Check if menu exists and is still in the DOM\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      referenceElement,\n      this._menu,\n      floatingConfig\n    )\n\n    // Menu may have been disposed during the async computePosition call\n    if (!this._menu || !this._menu.isConnected) {\n      return\n    }\n\n    // Apply position to dropdown menu\n    Object.assign(this._menu.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    // Set placement attribute for CSS styling\n    Manipulator.setDataAttribute(this._menu, 'placement', finalPlacement)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    if (this._responsivePlacements) {\n      return getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT)\n    }\n\n    return this._config.placement\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","isRTL","Default","autoClose","boundary","display","offset","floatingConfig","placement","reference","DefaultType","Dropdown","BaseComponent","constructor","element","config","computePosition","TypeError","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_element","parentNode","_menu","SelectorEngine","next","prev","findOne","_parseResponsivePlacements","toggle","_isShown","hide","show","isDisabled","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","_createFloating","document","documentElement","closest","concat","body","children","on","noop","focus","setAttribute","classList","add","_completeHide","dispose","_disposeFloating","_disposeMediaQueryListeners","update","_updateFloatingPosition","hideEvent","off","remove","Manipulator","removeDataAttribute","_getConfig","isElement","getBoundingClientRect","toUpperCase","_config","setDataAttribute","referenceElement","getElement","autoUpdate","isConnected","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","x","y","finalPlacement","Object","assign","style","position","left","top","margin","contains","getResponsivePlacement","parseResponsivePlacement","_setupMediaQueryListeners","createBreakpointListeners","disposeBreakpointListeners","_getOffset","split","map","value","Number","parseInt","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","right","defaultConfig","execute","undefined","_selectMenuItem","key","target","items","find","filter","isVisible","length","getNextActiveElement","includes","clearMenus","event","button","type","openToggles","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","preventDefault","getToggleButton","matches","delegateTarget","instance","getOrCreateInstance","stopPropagation"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start â†’ right, end â†’ left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start â†’ left, end â†’ right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","placement","isRTL","replace","triangleSign","p1","p2","p3","x","y","Default","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","DefaultType","Dropdown","BaseComponent","constructor","element","config","computePosition","TypeError","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_element","parentNode","_isSubmenu","classList","contains","_openSubmenus","Map","_submenuCloseTimeouts","_hoverIntentData","_menu","SelectorEngine","next","prev","findOne","_parseResponsivePlacements","_setupSubmenuListeners","toggle","_isShown","hide","show","isDisabled","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","_createFloating","document","documentElement","closest","concat","body","children","on","noop","focus","setAttribute","add","_completeHide","dispose","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","off","remove","Manipulator","removeDataAttribute","_getConfig","isElement","getBoundingClientRect","toUpperCase","_config","setDataAttribute","referenceElement","getElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","getResponsivePlacement","parseResponsivePlacement","_setupMediaQueryListeners","createBreakpointListeners","disposeBreakpointListeners","_getOffset","offsetConfig","split","map","value","Number","parseInt","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","execute","undefined","isConnected","finalPlacement","Object","assign","style","position","margin","event","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","target","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","has","_isMovingTowardSubmenu","_scheduleSubmenuClose","preventDefault","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","set","nestedSubmenus","find","nested","nestedWrapper","get","delete","currentSubmenuWrapper","parent","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","setTimeout","clearTimeout","values","clear","clientX","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","key","currentMenu","items","filter","isVisible","length","getNextActiveElement","includes","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","matches","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","button","type","openToggles","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","delegateTarget","instance","getOrCreateInstance","size"],"mappings":"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"}
\ No newline at end of file
index 844bc952e7724a6f11ed088f1d724a0777610698..4ba1c2c70edaf5dc79eb9d6a04ca491820088b27 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap offcanvas.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
diff --git a/js/dist/otp-input.js b/js/dist/otp-input.js
new file mode 100644 (file)
index 0000000..5c928d7
--- /dev/null
@@ -0,0 +1,238 @@
+/*!
+  * Bootstrap otp-input.js v5.3.8 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) :
+  typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.OtpInput = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine));
+})(this, (function (BaseComponent, EventHandler, SelectorEngine) { 'use strict';
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap otp-input.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'otpInput';
+  const DATA_KEY = 'bs.otp-input';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const DATA_API_KEY = '.data-api';
+  const EVENT_COMPLETE = `complete${EVENT_KEY}`;
+  const EVENT_INPUT = `input${EVENT_KEY}`;
+  const SELECTOR_DATA_OTP = '[data-bs-otp]';
+  const SELECTOR_INPUT = 'input';
+  const Default = {
+    length: 6,
+    mask: false
+  };
+  const DefaultType = {
+    length: 'number',
+    mask: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class OtpInput extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element);
+      this._setupInputs();
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    getValue() {
+      return this._inputs.map(input => input.value).join('');
+    }
+    setValue(value) {
+      const chars = String(value).split('');
+      for (const [index, input] of this._inputs.entries()) {
+        input.value = chars[index] || '';
+      }
+      this._checkComplete();
+    }
+    clear() {
+      for (const input of this._inputs) {
+        input.value = '';
+      }
+      this._inputs[0]?.focus();
+    }
+    focus() {
+      // Focus first empty input, or last input if all filled
+      const emptyInput = this._inputs.find(input => !input.value);
+      if (emptyInput) {
+        emptyInput.focus();
+      } else {
+        this._inputs.at(-1)?.focus();
+      }
+    }
+
+    // Private
+    _setupInputs() {
+      for (const input of this._inputs) {
+        // Set attributes for proper OTP handling
+        input.setAttribute('maxlength', '1');
+        input.setAttribute('inputmode', 'numeric');
+        input.setAttribute('pattern', '\\d*');
+
+        // First input gets autocomplete for browser OTP autofill
+        if (input === this._inputs[0]) {
+          input.setAttribute('autocomplete', 'one-time-code');
+        } else {
+          input.setAttribute('autocomplete', 'off');
+        }
+
+        // Mask input if configured
+        if (this._config.mask) {
+          input.setAttribute('type', 'password');
+        }
+      }
+    }
+    _addEventListeners() {
+      for (const [index, input] of this._inputs.entries()) {
+        EventHandler.on(input, 'input', event => this._handleInput(event, index));
+        EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index));
+        EventHandler.on(input, 'paste', event => this._handlePaste(event));
+        EventHandler.on(input, 'focus', event => this._handleFocus(event));
+      }
+    }
+    _handleInput(event, index) {
+      const input = event.target;
+
+      // Only allow digits
+      if (!/^\d*$/.test(input.value)) {
+        input.value = input.value.replace(/\D/g, '');
+      }
+      const {
+        value
+      } = input;
+
+      // Handle multi-character input (some browsers/autofill)
+      if (value.length > 1) {
+        // Distribute characters across inputs
+        const chars = value.split('');
+        input.value = chars[0] || '';
+        for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {
+          this._inputs[index + i].value = chars[i];
+        }
+
+        // Focus appropriate input
+        const nextIndex = Math.min(index + chars.length, this._inputs.length - 1);
+        this._inputs[nextIndex].focus();
+      } else if (value && index < this._inputs.length - 1) {
+        // Auto-advance to next input
+        this._inputs[index + 1].focus();
+      }
+      EventHandler.trigger(this._element, EVENT_INPUT, {
+        value: this.getValue(),
+        index
+      });
+      this._checkComplete();
+    }
+    _handleKeydown(event, index) {
+      const {
+        key
+      } = event;
+      switch (key) {
+        case 'Backspace':
+          {
+            if (!this._inputs[index].value && index > 0) {
+              // Move to previous input and clear it
+              event.preventDefault();
+              this._inputs[index - 1].value = '';
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'Delete':
+          {
+            // Clear current and shift remaining values left
+            event.preventDefault();
+            for (let i = index; i < this._inputs.length - 1; i++) {
+              this._inputs[i].value = this._inputs[i + 1].value;
+            }
+            this._inputs.at(-1).value = '';
+            break;
+          }
+        case 'ArrowLeft':
+          {
+            if (index > 0) {
+              event.preventDefault();
+              this._inputs[index - 1].focus();
+            }
+            break;
+          }
+        case 'ArrowRight':
+          {
+            if (index < this._inputs.length - 1) {
+              event.preventDefault();
+              this._inputs[index + 1].focus();
+            }
+            break;
+          }
+
+        // No default
+      }
+    }
+    _handlePaste(event) {
+      event.preventDefault();
+      const pastedData = (event.clipboardData || window.clipboardData).getData('text');
+      const digits = pastedData.replace(/\D/g, '').slice(0, this._inputs.length);
+      if (digits) {
+        this.setValue(digits);
+
+        // Focus last filled input or last input
+        const lastIndex = Math.min(digits.length, this._inputs.length) - 1;
+        this._inputs[lastIndex].focus();
+      }
+    }
+    _handleFocus(event) {
+      // Select the content on focus for easy replacement
+      event.target.select();
+    }
+    _checkComplete() {
+      const value = this.getValue();
+      const isComplete = value.length === this._inputs.length && this._inputs.every(input => input.value !== '');
+      if (isComplete) {
+        EventHandler.trigger(this._element, EVENT_COMPLETE, {
+          value
+        });
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {
+      OtpInput.getOrCreateInstance(element);
+    }
+  });
+
+  return OtpInput;
+
+}));
+//# sourceMappingURL=otp-input.js.map
diff --git a/js/dist/otp-input.js.map b/js/dist/otp-input.js.map
new file mode 100644 (file)
index 0000000..9e23d49
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"otp-input.js","sources":["../src/otp-input.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","Default","length","mask","DefaultType","OtpInput","BaseComponent","constructor","element","config","_inputs","SelectorEngine","find","_element","_setupInputs","_addEventListeners","getValue","map","input","value","join","setValue","chars","String","split","index","entries","_checkComplete","clear","focus","emptyInput","at","setAttribute","_config","EventHandler","on","event","_handleInput","_handleKeydown","_handlePaste","_handleFocus","target","test","replace","i","nextIndex","Math","min","trigger","key","preventDefault","pastedData","clipboardData","window","getData","digits","slice","lastIndex","select","isComplete","every","document","getOrCreateInstance"],"mappings":"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"}
\ No newline at end of file
index e5e7551263c0611fdf0e7421c905c621c6878364..f115cf3a7182a604733054a16ea9e41b854ea891 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap popover.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 5bd74e04adf4111fccbee20e3be1ca4f91b04402..0ead3d5c6554c7cb00a563bbebf66c8b542b6a5e 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap scrollspy.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
diff --git a/js/dist/strength.js b/js/dist/strength.js
new file mode 100644 (file)
index 0000000..5937cc2
--- /dev/null
@@ -0,0 +1,245 @@
+/*!
+  * Bootstrap strength.js v5.3.8 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) :
+  typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Strength = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine));
+})(this, (function (BaseComponent, EventHandler, SelectorEngine) { 'use strict';
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap strength.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'strength';
+  const DATA_KEY = 'bs.strength';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const DATA_API_KEY = '.data-api';
+  const EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`;
+  const SELECTOR_DATA_STRENGTH = '[data-bs-strength]';
+  const STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong'];
+  const Default = {
+    input: null,
+    // Selector or element for password input
+    minLength: 8,
+    messages: {
+      weak: 'Weak',
+      fair: 'Fair',
+      good: 'Good',
+      strong: 'Strong'
+    },
+    weights: {
+      minLength: 1,
+      extraLength: 1,
+      lowercase: 1,
+      uppercase: 1,
+      numbers: 1,
+      special: 1,
+      multipleSpecial: 1,
+      longPassword: 1
+    },
+    thresholds: [2, 4, 6],
+    // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6
+    scorer: null // Custom scoring function (password) => number
+  };
+  const DefaultType = {
+    input: '(string|element|null)',
+    minLength: 'number',
+    messages: 'object',
+    weights: 'object',
+    thresholds: 'array',
+    scorer: '(function|null)'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Strength extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._input = this._getInput();
+      this._segments = SelectorEngine.find('.strength-segment', this._element);
+      this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement);
+      this._currentStrength = null;
+      if (this._input) {
+        this._addEventListeners();
+        // Check initial value
+        this._evaluate();
+      }
+    }
+
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    getStrength() {
+      return this._currentStrength;
+    }
+    evaluate() {
+      this._evaluate();
+    }
+
+    // Private
+    _getInput() {
+      if (this._config.input) {
+        return typeof this._config.input === 'string' ? SelectorEngine.findOne(this._config.input) : this._config.input;
+      }
+
+      // Look for preceding password input
+      const parent = this._element.parentElement;
+      return SelectorEngine.findOne('input[type="password"]', parent);
+    }
+    _addEventListeners() {
+      EventHandler.on(this._input, 'input', () => this._evaluate());
+      EventHandler.on(this._input, 'change', () => this._evaluate());
+    }
+    _evaluate() {
+      const password = this._input.value;
+      const score = this._calculateScore(password);
+      const strength = this._scoreToStrength(score);
+      if (strength !== this._currentStrength) {
+        this._currentStrength = strength;
+        this._updateUI(strength, score);
+        EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {
+          strength,
+          score,
+          password: password.length > 0 ? '***' : '' // Don't expose actual password
+        });
+      }
+    }
+    _calculateScore(password) {
+      if (!password) {
+        return 0;
+      }
+
+      // Use custom scorer if provided
+      if (typeof this._config.scorer === 'function') {
+        return this._config.scorer(password);
+      }
+      const {
+        weights
+      } = this._config;
+      let score = 0;
+
+      // Length scoring
+      if (password.length >= this._config.minLength) {
+        score += weights.minLength;
+      }
+      if (password.length >= this._config.minLength + 4) {
+        score += weights.extraLength;
+      }
+
+      // Character variety
+      if (/[a-z]/.test(password)) {
+        score += weights.lowercase;
+      }
+      if (/[A-Z]/.test(password)) {
+        score += weights.uppercase;
+      }
+      if (/\d/.test(password)) {
+        score += weights.numbers;
+      }
+
+      // Special characters
+      if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.special;
+      }
+
+      // Extra points for more special chars or length
+      if (/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(password)) {
+        score += weights.multipleSpecial;
+      }
+      if (password.length >= 16) {
+        score += weights.longPassword;
+      }
+      return score;
+    }
+    _scoreToStrength(score) {
+      if (score === 0) {
+        return null;
+      }
+      const [weak, fair, good] = this._config.thresholds;
+      if (score <= weak) {
+        return 'weak';
+      }
+      if (score <= fair) {
+        return 'fair';
+      }
+      if (score <= good) {
+        return 'good';
+      }
+      return 'strong';
+    }
+    _updateUI(strength) {
+      // Update data attribute on element
+      if (strength) {
+        this._element.dataset.bsStrength = strength;
+      } else {
+        delete this._element.dataset.bsStrength;
+      }
+
+      // Update segmented meter
+      const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1;
+      for (const [index, segment] of this._segments.entries()) {
+        if (index <= strengthIndex) {
+          segment.classList.add('active');
+        } else {
+          segment.classList.remove('active');
+        }
+      }
+
+      // Update text feedback
+      if (this._textElement) {
+        if (strength && this._config.messages[strength]) {
+          this._textElement.textContent = this._config.messages[strength];
+          this._textElement.dataset.bsStrength = strength;
+
+          // Also set the color via inheriting from parent or using CSS variable
+          const colorMap = {
+            weak: 'danger',
+            fair: 'warning',
+            good: 'info',
+            strong: 'success'
+          };
+          this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`);
+        } else {
+          this._textElement.textContent = '';
+          delete this._textElement.dataset.bsStrength;
+        }
+      }
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {
+    for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {
+      Strength.getOrCreateInstance(element);
+    }
+  });
+
+  return Strength;
+
+}));
+//# sourceMappingURL=strength.js.map
diff --git a/js/dist/strength.js.map b/js/dist/strength.js.map
new file mode 100644 (file)
index 0000000..cf59509
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"strength.js","sources":["../src/strength.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak â‰¤2, fair â‰¤4, good â‰¤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","Default","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","DefaultType","Strength","BaseComponent","constructor","element","config","_input","_getInput","_segments","SelectorEngine","find","_element","_textElement","findOne","parentElement","_currentStrength","_addEventListeners","_evaluate","getStrength","evaluate","_config","parent","EventHandler","on","password","value","score","_calculateScore","strength","_scoreToStrength","_updateUI","trigger","length","test","dataset","bsStrength","strengthIndex","indexOf","index","segment","entries","classList","add","remove","textContent","colorMap","style","setProperty","document","getOrCreateInstance"],"mappings":"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"}
\ No newline at end of file
index 417f2a1096ee8f021854b3dca7d19502e4b27b74..f511fd964ef23f6d196081eb602d6fbe4538aff9 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap tab.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index eb905b376585b86950733ef9bf50849e865d9a13..b4344677f323070600cc5b8f3c5df392e180a48e 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap toast.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
diff --git a/js/dist/toggler.js b/js/dist/toggler.js
new file mode 100644 (file)
index 0000000..7c3d407
--- /dev/null
@@ -0,0 +1,98 @@
+/*!
+  * Bootstrap toggler.js v5.3.8 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/component-functions.js')) :
+  typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/component-functions'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toggler = factory(global.BaseComponent, global.EventHandler, global.ComponentFunctions));
+})(this, (function (BaseComponent, EventHandler, componentFunctions_js) { 'use strict';
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap toggler.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'toggler';
+  const DATA_KEY = 'bs.toggler';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const EVENT_TOGGLE = `toggle${EVENT_KEY}`;
+  const EVENT_TOGGLED = `toggled${EVENT_KEY}`;
+  const EVENT_CLICK = 'click';
+  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="toggler"]';
+  const DefaultType = {
+    attribute: 'string',
+    value: '(string|number|boolean)'
+  };
+  const Default = {
+    attribute: 'class',
+    value: null
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Toggler extends BaseComponent {
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    toggle() {
+      const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE);
+      if (toggleEvent.defaultPrevented) {
+        return;
+      }
+      this._execute();
+      EventHandler.trigger(this._element, EVENT_TOGGLED);
+    }
+
+    // Private
+    _execute() {
+      const {
+        attribute,
+        value
+      } = this._config;
+      if (attribute === 'id') {
+        return; // You have to be kidding
+      }
+      if (attribute === 'class') {
+        this._element.classList.toggle(value);
+        return;
+      }
+
+      // Compare as strings since getAttribute() always returns a string
+      if (this._element.getAttribute(attribute) === String(value)) {
+        this._element.removeAttribute(attribute);
+        return;
+      }
+      this._element.setAttribute(attribute, value);
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  componentFunctions_js.eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
+
+  return Toggler;
+
+}));
+//# sourceMappingURL=toggler.js.map
diff --git a/js/dist/toggler.js.map b/js/dist/toggler.js.map
new file mode 100644 (file)
index 0000000..1d6d4b5
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"toggler.js","sources":["../src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_TOGGLE","EVENT_TOGGLED","EVENT_CLICK","SELECTOR_DATA_TOGGLE","DefaultType","attribute","value","Default","Toggler","BaseComponent","toggle","toggleEvent","EventHandler","trigger","_element","defaultPrevented","_execute","_config","classList","getAttribute","String","removeAttribute","setAttribute","eventActionOnPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS;EACtB,MAAMC,QAAQ,GAAG,YAAY;EAC7B,MAAMC,SAAS,GAAG,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAE;EAEhC,MAAME,YAAY,GAAG,CAAA,MAAA,EAASD,SAAS,CAAA,CAAE;EACzC,MAAME,aAAa,GAAG,CAAA,OAAA,EAAUF,SAAS,CAAA,CAAE;EAC3C,MAAMG,WAAW,GAAG,OAAO;EAE3B,MAAMC,oBAAoB,GAAG,4BAA4B;EAEzD,MAAMC,WAAW,GAAG;EAClBC,EAAAA,SAAS,EAAE,QAAQ;EACnBC,EAAAA,KAAK,EAAE;EACT,CAAC;EAED,MAAMC,OAAO,GAAG;EACdF,EAAAA,SAAS,EAAE,OAAO;EAClBC,EAAAA,KAAK,EAAE;EACT,CAAC;;EAED;EACA;EACA;;EAEA,MAAME,OAAO,SAASC,aAAa,CAAC;EAClC;IACA,WAAWF,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWH,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB,EAAA;IAEA,WAAWP,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb,EAAA;;EAEA;EACAa,EAAAA,MAAMA,GAAG;MACP,MAAMC,WAAW,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAEd,YAAY,CAAC;MAErE,IAAIW,WAAW,CAACI,gBAAgB,EAAE;EAChC,MAAA;EACF,IAAA;MAEA,IAAI,CAACC,QAAQ,EAAE;MAEfJ,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAEb,aAAa,CAAC;EACpD,EAAA;;EAEA;EACAe,EAAAA,QAAQA,GAAG;MACT,MAAM;QAAEX,SAAS;EAAEC,MAAAA;OAAO,GAAG,IAAI,CAACW,OAAO;MAEzC,IAAIZ,SAAS,KAAK,IAAI,EAAE;EACtB,MAAA,OAAM;EACR,IAAA;MAEA,IAAIA,SAAS,KAAK,OAAO,EAAE;QACzB,IAAI,CAACS,QAAQ,CAACI,SAAS,CAACR,MAAM,CAACJ,KAAK,CAAC;EACrC,MAAA;EACF,IAAA;;EAEA;EACA,IAAA,IAAI,IAAI,CAACQ,QAAQ,CAACK,YAAY,CAACd,SAAS,CAAC,KAAKe,MAAM,CAACd,KAAK,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACQ,QAAQ,CAACO,eAAe,CAAChB,SAAS,CAAC;EACxC,MAAA;EACF,IAAA;MAEA,IAAI,CAACS,QAAQ,CAACQ,YAAY,CAACjB,SAAS,EAAEC,KAAK,CAAC;EAC9C,EAAA;EACF;;EAEA;EACA;EACA;;AAEAiB,2CAAmB,CAACf,OAAO,EAAEN,WAAW,EAAEC,oBAAoB,EAAE,QAAQ,CAAC;;;;;;;;"}
\ No newline at end of file
index e723256831f626e944de34b48f38be949c000eb6..46a81f621865ca2e90e058d7b3eeb247ad719992 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap tooltip.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 90f759e3efe1cd34fb65a70e0e4f2e3648eba5a8..0642e9921a6ab4df565b84fe17c9e1247ac294f7 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap backdrop.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 523ab55caff7da00d70979cfbf1cf907a24a6ba1..58c7f78bed7c5c5b342005ccbaeb9af067b34b9a 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap component-functions.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
       instance[method]();
     });
   };
+  const eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {
+    eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {
+      const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element));
+      if (typeof callback === 'function') {
+        callback({
+          ...data,
+          instances
+        });
+      }
+      for (const instance of instances) {
+        instance[method]();
+      }
+    });
+  };
+  const eventAction = (onEvent, stringSelector, callback) => {
+    const selector = `${stringSelector}:not(.disabled):not(:disabled)`;
+    EventHandler.on(document, onEvent, selector, function (event) {
+      if (['A', 'AREA'].includes(this.tagName)) {
+        event.preventDefault();
+      }
+      const selector = SelectorEngine.getSelectorFromElement(this);
+      const targets = selector ? SelectorEngine.find(selector) : [this];
+      callback({
+        targets,
+        event
+      });
+    });
+  };
 
   exports.enableDismissTrigger = enableDismissTrigger;
+  exports.eventActionOnPlugin = eventActionOnPlugin;
 
   Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
 
index 054b61f04da30288df2baadd21b52d487fc2e2fd..310a2423c3ce3bf4fdad9faaf63f13e9ef744f98 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"component-functions.js","sources":["../../src/util/component-functions.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nexport {\n  enableDismissTrigger\n}\n"],"names":["enableDismissTrigger","component","method","clickEvent","EVENT_KEY","name","NAME","EventHandler","on","document","event","includes","tagName","preventDefault","isDisabled","target","SelectorEngine","getElementFromSelector","closest","instance","getOrCreateInstance"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;AAMA,QAAMA,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,MAAM,GAAG,MAAM,KAAK;EAC3D,EAAA,MAAMC,UAAU,GAAG,CAAA,aAAA,EAAgBF,SAAS,CAACG,SAAS,CAAA,CAAE;EACxD,EAAA,MAAMC,IAAI,GAAGJ,SAAS,CAACK,IAAI;EAE3BC,EAAAA,YAAY,CAACC,EAAE,CAACC,QAAQ,EAAEN,UAAU,EAAE,CAAA,kBAAA,EAAqBE,IAAI,CAAA,EAAA,CAAI,EAAE,UAAUK,KAAK,EAAE;EACpF,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;QACxCF,KAAK,CAACG,cAAc,EAAE;EACxB,IAAA;EAEA,IAAA,IAAIC,mBAAU,CAAC,IAAI,CAAC,EAAE;EACpB,MAAA;EACF,IAAA;EAEA,IAAA,MAAMC,MAAM,GAAGC,cAAc,CAACC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAACC,OAAO,CAAC,CAAA,CAAA,EAAIb,IAAI,EAAE,CAAC;EACtF,IAAA,MAAMc,QAAQ,GAAGlB,SAAS,CAACmB,mBAAmB,CAACL,MAAM,CAAC;;EAEtD;EACAI,IAAAA,QAAQ,CAACjB,MAAM,CAAC,EAAE;EACpB,EAAA,CAAC,CAAC;EACJ;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"component-functions.js","sources":["../../src/util/component-functions.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n"],"names":["enableDismissTrigger","component","method","clickEvent","EVENT_KEY","name","NAME","EventHandler","on","document","event","includes","tagName","preventDefault","isDisabled","target","SelectorEngine","getElementFromSelector","closest","instance","getOrCreateInstance","eventActionOnPlugin","Plugin","onEvent","stringSelector","callback","eventAction","data","instances","targets","filter","Boolean","map","element","selector","getSelectorFromElement","find"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;AAMA,QAAMA,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,MAAM,GAAG,MAAM,KAAK;EAC3D,EAAA,MAAMC,UAAU,GAAG,CAAA,aAAA,EAAgBF,SAAS,CAACG,SAAS,CAAA,CAAE;EACxD,EAAA,MAAMC,IAAI,GAAGJ,SAAS,CAACK,IAAI;EAE3BC,EAAAA,YAAY,CAACC,EAAE,CAACC,QAAQ,EAAEN,UAAU,EAAE,CAAA,kBAAA,EAAqBE,IAAI,CAAA,EAAA,CAAI,EAAE,UAAUK,KAAK,EAAE;EACpF,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;QACxCF,KAAK,CAACG,cAAc,EAAE;EACxB,IAAA;EAEA,IAAA,IAAIC,mBAAU,CAAC,IAAI,CAAC,EAAE;EACpB,MAAA;EACF,IAAA;EAEA,IAAA,MAAMC,MAAM,GAAGC,cAAc,CAACC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAACC,OAAO,CAAC,CAAA,CAAA,EAAIb,IAAI,EAAE,CAAC;EACtF,IAAA,MAAMc,QAAQ,GAAGlB,SAAS,CAACmB,mBAAmB,CAACL,MAAM,CAAC;;EAEtD;EACAI,IAAAA,QAAQ,CAACjB,MAAM,CAAC,EAAE;EACpB,EAAA,CAAC,CAAC;EACJ;AAEA,QAAMmB,mBAAmB,GAAGA,CAACC,MAAM,EAAEC,OAAO,EAAEC,cAAc,EAAEtB,MAAM,EAAEuB,QAAQ,GAAG,IAAI,KAAK;EACxFC,EAAAA,WAAW,CAAC,CAAA,EAAGH,OAAO,CAAA,CAAA,EAAID,MAAM,CAAChB,IAAI,CAAA,CAAE,EAAEkB,cAAc,EAAEG,IAAI,IAAI;MAC/D,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,GAAG,CAACC,OAAO,IAAIX,MAAM,CAACF,mBAAmB,CAACa,OAAO,CAAC,CAAC;EAClG,IAAA,IAAI,OAAOR,QAAQ,KAAK,UAAU,EAAE;EAClCA,MAAAA,QAAQ,CAAC;EAAE,QAAA,GAAGE,IAAI;EAAEC,QAAAA;EAAU,OAAC,CAAC;EAClC,IAAA;EAEA,IAAA,KAAK,MAAMT,QAAQ,IAAIS,SAAS,EAAE;EAChCT,MAAAA,QAAQ,CAACjB,MAAM,CAAC,EAAE;EACpB,IAAA;EACF,EAAA,CAAC,CAAC;EACJ;EAEA,MAAMwB,WAAW,GAAGA,CAACH,OAAO,EAAEC,cAAc,EAAEC,QAAQ,KAAK;EACzD,EAAA,MAAMS,QAAQ,GAAG,CAAA,EAAGV,cAAc,CAAA,8BAAA,CAAgC;IAClEjB,YAAY,CAACC,EAAE,CAACC,QAAQ,EAAEc,OAAO,EAAEW,QAAQ,EAAE,UAAUxB,KAAK,EAAE;EAC5D,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;QACxCF,KAAK,CAACG,cAAc,EAAE;EACxB,IAAA;EAEA,IAAA,MAAMqB,QAAQ,GAAGlB,cAAc,CAACmB,sBAAsB,CAAC,IAAI,CAAC;EAC5D,IAAA,MAAMN,OAAO,GAAGK,QAAQ,GAAGlB,cAAc,CAACoB,IAAI,CAACF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;EAEjET,IAAAA,QAAQ,CAAC;QAAEI,OAAO;EAAEnB,MAAAA;EAAM,KAAC,CAAC;EAC9B,EAAA,CAAC,CAAC;EACJ,CAAC;;;;;;;;;;;"}
\ No newline at end of file
index 2126a0516774cba01b9beb7f4ed2798fa1bf851d..ade584360403b5a43ee398a350683a395e7841a6 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap config.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 40b830a3cdb2f75b5b0d3e3961dde49eaf2c7486..5c73642700a5f30922b38485a7a46ea886f42cac 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap floating-ui.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index c14627bdc240f34e1977f8066f7418cc6bfbcf22..6efc6fdfd6cd4c1b83bd78d87c224fb7ebdeca69 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap focustrap.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 6e855499195e1c0bf94046b3b04b0fb18b9e1065..19597ef59024c9a75b15fbc662d1968c8b94f6f8 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap index.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 22f77c1dfb64cb2ce2cc583701e8b706c5e3acba..a4f0982e03101c4101fa6714af2c18dd50269aed 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap sanitizer.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 2d3a6196892959fabb21dd4f89090a5266b23e7d..35ad9161731c0fa3b882feccfa11a332d76384a4 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap scrollbar.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index cebaadf8b920fef0ccb36b3291059b3aaff47ddf..eae2f439a1405cdb298b135d599ef26a5646e540 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap swipe.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {
index 335de5d6d737324759858b8c930e01c32fccdac8..b4cc3841deb0f30c37d96c717a1d8481ad4bd9e3 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap template-factory.js v5.3.8 (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 (function (global, factory) {